Message ID | 20241210-fix-ipu-v3-6-00e409c84a6c@chromium.org (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | ipu6: get rid of all the IS_ENABLED(CONFIG_ACPI) | expand |
Hi Ricardo, On Tue, Dec 10, 2024 at 07:56:03PM +0000, Ricardo Ribalda wrote: > Provide an implementation of acpi_device_hid that can be used when > CONFIG_ACPI is not set. > > Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> > --- > include/acpi/acpi_bus.h | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h > index 4f1b3a6f107b..c25914a152ee 100644 > --- a/include/acpi/acpi_bus.h > +++ b/include/acpi/acpi_bus.h > @@ -1003,6 +1003,11 @@ static inline int unregister_acpi_bus_type(void *bus) { return 0; } > > static inline int acpi_wait_for_acpi_ipmi(void) { return 0; } > > +static inline const char *acpi_device_hid(struct acpi_device *device) > +{ > + return ""; > +} I wonder if any caller might expect something of a string if provided? Valid _HIDs are either 7 or 8 characters whereas the proper version of the function returns "device" when one cannot be found (dummy_hid in drivers/acpi/scan.c). Unlikely to be a problem perhaps. Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com> > + > static inline acpi_status > acpi_get_physical_device_location(acpi_handle handle, struct acpi_pld_info **pld) > { >
On Tue, 10 Dec 2024 at 22:01, Sakari Ailus <sakari.ailus@linux.intel.com> wrote: > > Hi Ricardo, > > On Tue, Dec 10, 2024 at 07:56:03PM +0000, Ricardo Ribalda wrote: > > Provide an implementation of acpi_device_hid that can be used when > > CONFIG_ACPI is not set. > > > > Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> > > --- > > include/acpi/acpi_bus.h | 5 +++++ > > 1 file changed, 5 insertions(+) > > > > diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h > > index 4f1b3a6f107b..c25914a152ee 100644 > > --- a/include/acpi/acpi_bus.h > > +++ b/include/acpi/acpi_bus.h > > @@ -1003,6 +1003,11 @@ static inline int unregister_acpi_bus_type(void *bus) { return 0; } > > > > static inline int acpi_wait_for_acpi_ipmi(void) { return 0; } > > > > +static inline const char *acpi_device_hid(struct acpi_device *device) > > +{ > > + return ""; > > +} > > I wonder if any caller might expect something of a string if provided? > Valid _HIDs are either 7 or 8 characters whereas the proper version of the > function returns "device" when one cannot be found (dummy_hid in > drivers/acpi/scan.c). Unlikely to be a problem perhaps. Good point. I changed it to return "device" Thanks! > > Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com> > > > + > > static inline acpi_status > > acpi_get_physical_device_location(acpi_handle handle, struct acpi_pld_info **pld) > > { > > > > -- > Regards, > > Sakari Ailus
Hi Ricardo, On Tue, Dec 10, 2024 at 11:35:35PM +0100, Ricardo Ribalda wrote: > On Tue, 10 Dec 2024 at 22:01, Sakari Ailus <sakari.ailus@linux.intel.com> wrote: > > > > Hi Ricardo, > > > > On Tue, Dec 10, 2024 at 07:56:03PM +0000, Ricardo Ribalda wrote: > > > Provide an implementation of acpi_device_hid that can be used when > > > CONFIG_ACPI is not set. > > > > > > Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> > > > --- > > > include/acpi/acpi_bus.h | 5 +++++ > > > 1 file changed, 5 insertions(+) > > > > > > diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h > > > index 4f1b3a6f107b..c25914a152ee 100644 > > > --- a/include/acpi/acpi_bus.h > > > +++ b/include/acpi/acpi_bus.h > > > @@ -1003,6 +1003,11 @@ static inline int unregister_acpi_bus_type(void *bus) { return 0; } > > > > > > static inline int acpi_wait_for_acpi_ipmi(void) { return 0; } > > > > > > +static inline const char *acpi_device_hid(struct acpi_device *device) > > > +{ > > > + return ""; > > > +} > > > > I wonder if any caller might expect something of a string if provided? > > Valid _HIDs are either 7 or 8 characters whereas the proper version of the > > function returns "device" when one cannot be found (dummy_hid in > > drivers/acpi/scan.c). Unlikely to be a problem perhaps. > > Good point. I changed it to return "device" When ACPI is disabled, it's unlikely that string would be used anyway, vs. the case when ACPI is enabled but there's no _HID. So I think an empty string should be fine. I wonder what others think.
Em Wed, 11 Dec 2024 07:57:06 +0000 Sakari Ailus <sakari.ailus@linux.intel.com> escreveu: > Hi Ricardo, > > On Tue, Dec 10, 2024 at 11:35:35PM +0100, Ricardo Ribalda wrote: > > On Tue, 10 Dec 2024 at 22:01, Sakari Ailus <sakari.ailus@linux.intel.com> wrote: > > > > > > Hi Ricardo, > > > > > > On Tue, Dec 10, 2024 at 07:56:03PM +0000, Ricardo Ribalda wrote: > > > > Provide an implementation of acpi_device_hid that can be used when > > > > CONFIG_ACPI is not set. > > > > > > > > Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> > > > > --- > > > > include/acpi/acpi_bus.h | 5 +++++ > > > > 1 file changed, 5 insertions(+) > > > > > > > > diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h > > > > index 4f1b3a6f107b..c25914a152ee 100644 > > > > --- a/include/acpi/acpi_bus.h > > > > +++ b/include/acpi/acpi_bus.h > > > > @@ -1003,6 +1003,11 @@ static inline int unregister_acpi_bus_type(void *bus) { return 0; } > > > > > > > > static inline int acpi_wait_for_acpi_ipmi(void) { return 0; } > > > > > > > > +static inline const char *acpi_device_hid(struct acpi_device *device) > > > > +{ > > > > + return ""; > > > > +} > > > > > > I wonder if any caller might expect something of a string if provided? > > > Valid _HIDs are either 7 or 8 characters whereas the proper version of the > > > function returns "device" when one cannot be found (dummy_hid in > > > drivers/acpi/scan.c). Unlikely to be a problem perhaps. > > > > Good point. I changed it to return "device" > > When ACPI is disabled, it's unlikely that string would be used anyway, vs. > the case when ACPI is enabled but there's no _HID. So I think an empty > string should be fine. I wonder what others think. > Returning "" also caused me some attention at the original patch. IMO, placing a pseudo-valid HID would be better, but I guess "device" is also invalid, as, at least I always saw HIDs in uppercase. Also, I guess it is always a vendor ID + a 4 digit number. so, IMHO, something like "DEVC9999" would be a better name if we fill it. Thanks, Mauro
Hi Mauro, On Wed, Dec 11, 2024 at 09:40:37AM +0100, Mauro Carvalho Chehab wrote: > Em Wed, 11 Dec 2024 07:57:06 +0000 > Sakari Ailus <sakari.ailus@linux.intel.com> escreveu: > > > Hi Ricardo, > > > > On Tue, Dec 10, 2024 at 11:35:35PM +0100, Ricardo Ribalda wrote: > > > On Tue, 10 Dec 2024 at 22:01, Sakari Ailus <sakari.ailus@linux.intel.com> wrote: > > > > > > > > Hi Ricardo, > > > > > > > > On Tue, Dec 10, 2024 at 07:56:03PM +0000, Ricardo Ribalda wrote: > > > > > Provide an implementation of acpi_device_hid that can be used when > > > > > CONFIG_ACPI is not set. > > > > > > > > > > Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> > > > > > --- > > > > > include/acpi/acpi_bus.h | 5 +++++ > > > > > 1 file changed, 5 insertions(+) > > > > > > > > > > diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h > > > > > index 4f1b3a6f107b..c25914a152ee 100644 > > > > > --- a/include/acpi/acpi_bus.h > > > > > +++ b/include/acpi/acpi_bus.h > > > > > @@ -1003,6 +1003,11 @@ static inline int unregister_acpi_bus_type(void *bus) { return 0; } > > > > > > > > > > static inline int acpi_wait_for_acpi_ipmi(void) { return 0; } > > > > > > > > > > +static inline const char *acpi_device_hid(struct acpi_device *device) > > > > > +{ > > > > > + return ""; > > > > > +} > > > > > > > > I wonder if any caller might expect something of a string if provided? > > > > Valid _HIDs are either 7 or 8 characters whereas the proper version of the > > > > function returns "device" when one cannot be found (dummy_hid in > > > > drivers/acpi/scan.c). Unlikely to be a problem perhaps. > > > > > > Good point. I changed it to return "device" > > > > When ACPI is disabled, it's unlikely that string would be used anyway, vs. > > the case when ACPI is enabled but there's no _HID. So I think an empty > > string should be fine. I wonder what others think. > > > Returning "" also caused me some attention at the original patch. IMO, > placing a pseudo-valid HID would be better, but I guess "device" is also > invalid, as, at least I always saw HIDs in uppercase. Also, I guess it > is always a vendor ID + a 4 digit number. > > so, IMHO, something like "DEVC9999" would be a better name if we fill it. How about post a patch changing "device" in drivers/acpi/scan.c? :-) But I think the string also needs to be an invalid as a _HID object so it's not masking an actual hardware ID used by a real device.
Em Wed, 11 Dec 2024 08:48:51 +0000 Sakari Ailus <sakari.ailus@linux.intel.com> escreveu: > Hi Mauro, > > On Wed, Dec 11, 2024 at 09:40:37AM +0100, Mauro Carvalho Chehab wrote: > > Em Wed, 11 Dec 2024 07:57:06 +0000 > > Sakari Ailus <sakari.ailus@linux.intel.com> escreveu: > > > > > Hi Ricardo, > > > > > > On Tue, Dec 10, 2024 at 11:35:35PM +0100, Ricardo Ribalda wrote: > > > > On Tue, 10 Dec 2024 at 22:01, Sakari Ailus <sakari.ailus@linux.intel.com> wrote: > > > > > > > > > > Hi Ricardo, > > > > > > > > > > On Tue, Dec 10, 2024 at 07:56:03PM +0000, Ricardo Ribalda wrote: > > > > > > Provide an implementation of acpi_device_hid that can be used when > > > > > > CONFIG_ACPI is not set. > > > > > > > > > > > > Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> > > > > > > --- > > > > > > include/acpi/acpi_bus.h | 5 +++++ > > > > > > 1 file changed, 5 insertions(+) > > > > > > > > > > > > diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h > > > > > > index 4f1b3a6f107b..c25914a152ee 100644 > > > > > > --- a/include/acpi/acpi_bus.h > > > > > > +++ b/include/acpi/acpi_bus.h > > > > > > @@ -1003,6 +1003,11 @@ static inline int unregister_acpi_bus_type(void *bus) { return 0; } > > > > > > > > > > > > static inline int acpi_wait_for_acpi_ipmi(void) { return 0; } > > > > > > > > > > > > +static inline const char *acpi_device_hid(struct acpi_device *device) > > > > > > +{ > > > > > > + return ""; > > > > > > +} > > > > > > > > > > I wonder if any caller might expect something of a string if provided? > > > > > Valid _HIDs are either 7 or 8 characters whereas the proper version of the > > > > > function returns "device" when one cannot be found (dummy_hid in > > > > > drivers/acpi/scan.c). Unlikely to be a problem perhaps. > > > > > > > > Good point. I changed it to return "device" > > > > > > When ACPI is disabled, it's unlikely that string would be used anyway, vs. > > > the case when ACPI is enabled but there's no _HID. So I think an empty > > > string should be fine. I wonder what others think. > > > > > Returning "" also caused me some attention at the original patch. IMO, > > placing a pseudo-valid HID would be better, but I guess "device" is also > > invalid, as, at least I always saw HIDs in uppercase. Also, I guess it > > is always a vendor ID + a 4 digit number. > > > > so, IMHO, something like "DEVC9999" would be a better name if we fill it. > > How about post a patch changing "device" in drivers/acpi/scan.c? :-) Yeah, keeping it coherent makes sense, but see: static const char *dummy_hid = "device"; This is compiled for production kernels, and not just for COMPILE_TEST, while: static inline const char *acpi_device_hid(struct acpi_device *device) { return "foo"; } is only COMPILE_TEST. They don't need to be aligned. > But I > think the string also needs to be an invalid as a _HID object so it's not > masking an actual hardware ID used by a real device. It doesn't matter if if ever conflicts to a real device, as this is for COMPILE_TEST only. Anyway, from my side, I'm just giving my 2 cents. I'm ok either way: "", "device", "DEVC999", ... Thanks, Mauro
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h index 4f1b3a6f107b..c25914a152ee 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h @@ -1003,6 +1003,11 @@ static inline int unregister_acpi_bus_type(void *bus) { return 0; } static inline int acpi_wait_for_acpi_ipmi(void) { return 0; } +static inline const char *acpi_device_hid(struct acpi_device *device) +{ + return ""; +} + static inline acpi_status acpi_get_physical_device_location(acpi_handle handle, struct acpi_pld_info **pld) {
Provide an implementation of acpi_device_hid that can be used when CONFIG_ACPI is not set. Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> --- include/acpi/acpi_bus.h | 5 +++++ 1 file changed, 5 insertions(+)