Re: [PATCH v4 6/8] ACPI: property: Rename parsed MIPI DisCo for Imaging properties

Sakari Ailus
2023-02-08T21:27:37Z

On Wed, Feb 08, 2023 at 06:56:27PM +0200, Andy Shevchenko wrote:
> On Wed, Feb 08, 2023 at 05:28:05PM +0200, Sakari Ailus wrote:
> > MIPI DisCo for Imaging defines properties for sensor-adjacent devices such
> > as EEPROM, LED flash or lens VCM as either device or sub-node references.
> > This is compliant with existing DT definitions apart from property names.
> >
> > Rename parsed MIPI-defined properties so drivers will have a unified view
> > of them as defined in DT and already parsed by drivers. This can be done
> > in-place as the MIPI-defined property strings are always longer than the
> > DT one. This also results in loss of constness in parser function
> > arguments.
> >
> > Individual bindings to devices could define the references differently
> > between MIPI DisCo for Imaging and DT, in terms of device or sub-node
> > references. This will still need to be handled in the drivers themselves.
>
> ...
>
> > +void acpi_properties_prepare_mipi(union acpi_object *elements)
> > +{
> > + unsigned int i;
> > +
> > + /* Replace MIPI DisCo for Imaging property names with DT equivalents. */
> > + for (i = 0; i < ARRAY_SIZE(mipi_disco_props); i++) {
> > + if (!strcmp(mipi_disco_props[i].mipi_prop,
> > + elements[0].string.pointer)) {
>
> /* const ? */ char *e0 = elements[0].string.pointer;

Yes, and can be placed outside the loop.

> ...
>
> if (!strcmp(mipi_disco_props[i].mipi_prop, e0)) {
>
> > + WARN_ON(strscpy(elements[0].string.pointer,
> > + mipi_disco_props[i].dt_prop,
> > + elements[0].string.length) < 0);
>
> WARN_ON(strscpy(e0, mipi_disco_props[i].dt_prop,
> elements[0].string.pointer) < 0);
> ?
>
> > + break;
> > + }
> > + }
> > +}
>

--
Sakari Ailus