Hi Andy, Mika, On 8 Feb 2013, Andy Shevchenko wrote:
> Some of the platform devices rely on the name of their driver to match with. > In > the current implementation, if platform id table is needed, they have to add > the name to the platform id table which sounds alogical. The patch adjustes > the > logic of the id table matching to make sure we will fall-back to match by the > driver name. This will make it similar to the DT or ACPI cases. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > Reported-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> > Cc: Eric Miao <eric.miao@xxxxxxxxxxx> > Cc: Greg Kroah-Hartman <gregkh@xxxxxxx> > --- > drivers/base/platform.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/base/platform.c b/drivers/base/platform.c > index c0b8df3..452ba4b 100644 > --- a/drivers/base/platform.c > +++ b/drivers/base/platform.c > @@ -732,8 +732,8 @@ static int platform_match(struct device *dev, struct > device_driver *drv) > return 1; > > /* Then try to match against the id table */ > - if (pdrv->id_table) > - return platform_match_id(pdrv->id_table, pdev) != NULL; > + if (pdrv->id_table && platform_match_id(pdrv->id_table, pdev)) > + return 1; > > /* fall-back to driver name match */ > return (strcmp(pdev->name, drv->name) == 0); When I upgraded an avr32 system from 3.8 to a recent next release, I found it was broken: DMA was not available because the dw_dma driver did not get probed anymore. The dw_dma driver does have a id_table, but the boards in arch/avr32 are still expecting driver identification by name. As long as we want to support this simple identification-by-name, I'd say Andy's patch should get quickly into stable release. Hein -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/