I2C drivers that support OF, have both an I2C and OF device ID tables
that are used to fill the supported module aliases. But currently the
I2C core only uses the OF table to match a device with a driver and
the aliases information are always reported in the form i2c:<name>.
The client->name is used as the name postfix and when booting with OF
this is obtained with of_modalias_node() which drops the compatible
string vendor prefix.
So for I2C drivers, the I2C and OF device ID tables should be keep in
sync in order to make module auto-loading to work but the I2C device
entries shouldn't have the vendor prefix since that is not reported.
Before this patch:
MODALIAS=i2c:ptn3460
$ modinfo | grep alias
alias: i2c:nxp,ptn3460
alias: of:N*T*Cnxp,ptn3460*
After this patch:
MODALIAS=i2c:ptn3460
$ modinfo | grep alias
alias: i2c:ptn3460
alias: of:N*T*Cnxp,ptn3460*
Signed-off-by: Javier Martinez Canillas <[email protected]>
---
drivers/gpu/drm/bridge/ptn3460.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/bridge/ptn3460.c b/drivers/gpu/drm/bridge/ptn3460.c
index 9d2f053382e1..2cc15419088d 100644
--- a/drivers/gpu/drm/bridge/ptn3460.c
+++ b/drivers/gpu/drm/bridge/ptn3460.c
@@ -389,7 +389,7 @@ static int ptn3460_remove(struct i2c_client *client)
}
static const struct i2c_device_id ptn3460_i2c_table[] = {
- {"nxp,ptn3460", 0},
+ {"ptn3460", 0},
{},
};
MODULE_DEVICE_TABLE(i2c, ptn3460_i2c_table);
--
2.1.4
Javier,
On Thu, May 14, 2015 at 7:31 AM, Javier Martinez Canillas
<[email protected]> wrote:
> I2C drivers that support OF, have both an I2C and OF device ID tables
> that are used to fill the supported module aliases. But currently the
> I2C core only uses the OF table to match a device with a driver and
> the aliases information are always reported in the form i2c:<name>.
>
> The client->name is used as the name postfix and when booting with OF
> this is obtained with of_modalias_node() which drops the compatible
> string vendor prefix.
>
> So for I2C drivers, the I2C and OF device ID tables should be keep in
> sync in order to make module auto-loading to work but the I2C device
> entries shouldn't have the vendor prefix since that is not reported.
>
> Before this patch:
>
> MODALIAS=i2c:ptn3460
>
> $ modinfo | grep alias
> alias: i2c:nxp,ptn3460
> alias: of:N*T*Cnxp,ptn3460*
>
> After this patch:
>
> MODALIAS=i2c:ptn3460
>
> $ modinfo | grep alias
> alias: i2c:ptn3460
> alias: of:N*T*Cnxp,ptn3460*
>
> Signed-off-by: Javier Martinez Canillas <[email protected]>
> ---
> drivers/gpu/drm/bridge/ptn3460.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Doug Anderson <[email protected]>
On Thu, May 14, 2015 at 04:31:29PM +0200, Javier Martinez Canillas wrote:
> I2C drivers that support OF, have both an I2C and OF device ID tables
> that are used to fill the supported module aliases. But currently the
> I2C core only uses the OF table to match a device with a driver and
> the aliases information are always reported in the form i2c:<name>.
>
> The client->name is used as the name postfix and when booting with OF
> this is obtained with of_modalias_node() which drops the compatible
> string vendor prefix.
>
> So for I2C drivers, the I2C and OF device ID tables should be keep in
> sync in order to make module auto-loading to work but the I2C device
> entries shouldn't have the vendor prefix since that is not reported.
>
> Before this patch:
>
> MODALIAS=i2c:ptn3460
>
> $ modinfo | grep alias
> alias: i2c:nxp,ptn3460
> alias: of:N*T*Cnxp,ptn3460*
>
> After this patch:
>
> MODALIAS=i2c:ptn3460
>
> $ modinfo | grep alias
> alias: i2c:ptn3460
> alias: of:N*T*Cnxp,ptn3460*
>
> Signed-off-by: Javier Martinez Canillas <[email protected]>
> ---
> drivers/gpu/drm/bridge/ptn3460.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Applied, thanks.
Thierry