lkml.org 
[lkml]   [2015]   [Aug]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RESEND PATCH 5/7] extcon: Export OF module alias information in missing drivers
    Date
    The I2C core always reports the MODALIAS uevent as "i2c:<modalias>"
    regardless of the mechanism that was used to register the device
    (i.e: OF or board code) and the table that is used later to match
    the driver with the device (i.e: I2C id table or OF match table).

    So drivers needs to export the I2C id table and this be built into
    the module or udev won't have the necessary information to autoload
    the needed driver module when the device is added.

    But this means that OF-only drivers needs to have both OF and I2C id
    tables that have to be kept in sync and also the dev node compatible
    manufacturer prefix is stripped when reporting the MODALIAS. Which can
    lead to issues if two vendors use the same I2C device name for example.

    To avoid the above, the I2C core behavior may be changed in the future
    to not require an SPI device table for OF-only drivers and report the
    OF module alias. So, it's better to also export the OF table even when
    is unused now to prevent breaking module loading when the core changes.

    Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>

    ---

    drivers/extcon/extcon-rt8973a.c | 1 +
    drivers/extcon/extcon-sm5502.c | 1 +
    2 files changed, 2 insertions(+)

    diff --git a/drivers/extcon/extcon-rt8973a.c b/drivers/extcon/extcon-rt8973a.c
    index 11592e980bc1..3428b6aae1a2 100644
    --- a/drivers/extcon/extcon-rt8973a.c
    +++ b/drivers/extcon/extcon-rt8973a.c
    @@ -658,6 +658,7 @@ static const struct of_device_id rt8973a_dt_match[] = {
    { .compatible = "richtek,rt8973a-muic" },
    { },
    };
    +MODULE_DEVICE_TABLE(of, rt8973a_dt_match);

    #ifdef CONFIG_PM_SLEEP
    static int rt8973a_muic_suspend(struct device *dev)
    diff --git a/drivers/extcon/extcon-sm5502.c b/drivers/extcon/extcon-sm5502.c
    index 0ffefefa2e26..92ae48415fb2 100644
    --- a/drivers/extcon/extcon-sm5502.c
    +++ b/drivers/extcon/extcon-sm5502.c
    @@ -650,6 +650,7 @@ static const struct of_device_id sm5502_dt_match[] = {
    { .compatible = "siliconmitus,sm5502-muic" },
    { },
    };
    +MODULE_DEVICE_TABLE(of, sm5502_dt_match);

    #ifdef CONFIG_PM_SLEEP
    static int sm5502_muic_suspend(struct device *dev)
    --
    2.4.3


    \
     
     \ /
      Last update: 2015-08-25 09:01    [W:3.256 / U:0.488 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site