On Wed, Jul 4, 2018 at 9:09 PM, Rob Landley <rob@xxxxxxxxxxx> wrote: > On 07/04/2018 12:04 PM, Andy Shevchenko wrote: >> On Wed, Jul 4, 2018 at 8:00 PM, Andy Shevchenko >> <andy.shevchenko@xxxxxxxxx> wrote: >>> On Wed, Jul 4, 2018 at 3:46 AM, Rob Landley <rob@xxxxxxxxxxx> wrote: >> >>> For now, you can switch to unified device properties API (basically >>> un-ifdef pca955x_pdata_of_init() and replacing of_* by device_* or >>> fwnode_* compatible calls) and providing a static table of built-in >>> device properties in the platform code in question. >>> (see include/linux/property.h, for example users of >>> PROPERTY_ENTRY_U*() macros, like arch/arm/mach-pxa/raumfeld.c) >> >> Taking into consideration that device is enumerated by i2c core, which >> is being aware of device properties (1), better example might be >> drivers/platform/x86/intel_cht_int33fe.c > > This file doesn't include the word "LED". Should it? You seems missed a point completely. > > $ grep -i led drivers/platform/x86/intel_cht_int33fe.c > $ > > Examining it... this is an ACPI driver, Intel's Not-Invented-Here proprietary > device tree. Huh?! > So I should convert an sh7760 board to ACPI? NO! (Of cource if you have ACPI ID and meaning of that device on ACPI enabled platform, then it's your choice) > How would this fix the problem > where the driver's probe function expects a structure as input that is locally > defined, instead of the generic structure from linux/leds.h it used to accept? You missed a point. > If we feed the probe function NULL platform data _and_ don't have device tree > enabled, doesn't it error out? No. -- With Best Regards, Andy Shevchenko