diff mbox

[1/1] drm/bridge: ptn3460: Fix I2C ID table to match the reported modalias

Message ID 1431613889-32737-1-git-send-email-javier.martinez@collabora.co.uk (mailing list archive)
State Accepted
Headers show

Commit Message

Javier Martinez Canillas May 14, 2015, 2:31 p.m. UTC
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 <javier.martinez@collabora.co.uk>
---
 drivers/gpu/drm/bridge/ptn3460.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Doug Anderson May 14, 2015, 3:08 p.m. UTC | #1
Javier,

On Thu, May 14, 2015 at 7:31 AM, Javier Martinez Canillas
<javier.martinez@collabora.co.uk> 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 <javier.martinez@collabora.co.uk>
> ---
>  drivers/gpu/drm/bridge/ptn3460.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Doug Anderson <dianders@chromium.org>
Thierry Reding May 15, 2015, 9:21 a.m. UTC | #2
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 <javier.martinez@collabora.co.uk>
> ---
>  drivers/gpu/drm/bridge/ptn3460.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks.

Thierry
diff mbox

Patch

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);