Re: [PATCH v1 1/9] pinctrl: mcp23s08: Get rid of legacy platform data

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Sep 16, 2021 at 02:51:23PM +0200, Florian Eckert wrote:
> Hello Andy,
> 
> I just wanted to port my target an APU3 (x86_64) to kernel version 5.10 in
> OpenWrt.
> This is the next stable LTS kernel version in OpenWrt.
> 
> On my board I have this device as an I2c bus IO-expander with which I
> control additional LEDs.
> For this purpose I have a platform driver. Which registers these additional
> LEDs.
> I have now discovered that the platform driver no longer compiles due to
> this change, as the platform data for the mcp23017 have been removed by this
> change in kernel version 5.8.
> 
> I don't have control over the BIOS (coreboot)

It's open source.

> and I can't adjust the ACPI
> tables.

Actually you can (to some extend) even for closed sourced firmwares (either
with rewriting DSDT as Hackintosh project does, or via SSDT overlays, I gave a
talk on Linaro Connect about this).

> Since this is an x86 platform, I can't work with a device tree, can I?

Ideally you need to fix the ACPI tables, but this won't fix older firmwares
anyway. As a workaround you may convert platform data to use software nodes.

See the example (in v5.15-rc1):

	drivers/mfd/intel_quark_i2c_gpio.c
	drivers/gpio/gpio-dwapb.c
	drivers/i2c/busses/i2c-designware-platdrv.c

of such conversion.

> On 2020-04-07 19:38, Andy Shevchenko wrote:
> > Platform data is a legacy interface to supply device properties
> > to the driver. In this case we even don't have in-kernel users
> > for it. Just remove it for good.

-- 
With Best Regards,
Andy Shevchenko





[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux