On Mon, Jan 13, 2014 at 09:48:31PM +0800, Zhang Rui wrote: > ACPI enumerated devices has ACPI style _HID and _CID strings, > all of these strings can be used for both driver loading and matching. > But currently, in Platform, I2C and SPI bus, only the ACPI style > driver matching is supported by invoking acpi_driver_match_device() > in bus .match() callback. I don't understand what this means, sorry. As far as I can tell "ACPI style _HID and _CID strings" are something different to "ACPI style driver matching" but what that actually means is not at all clear to me so I don't know what problem this is intended to fix. Please also always remember to CC maintainers on patches. > diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c > index 349ebba..ab70eda 100644 > --- a/drivers/spi/spi.c > +++ b/drivers/spi/spi.c > @@ -58,6 +58,11 @@ static ssize_t > modalias_show(struct device *dev, struct device_attribute *a, char *buf) > { > const struct spi_device *spi = to_spi_device(dev); > + int len; > + > + len = acpi_device_modalias(dev, buf, PAGE_SIZE); > + if (len != -ENODEV) > + return len; > > return sprintf(buf, "%s%s\n", SPI_MODULE_PREFIX, spi->modalias); > } What does this do and why can't acpi_driver_match_device() handle this like it does for other ACPI devices? We don't need to add such code for other firmware interfaces...
Attachment:
signature.asc
Description: Digital signature