Skip to content
  • David Daney's avatar
    of/i2c: Fix request module by alias · 02086264
    David Daney authored
    
    
    If we are registering an i2c device that has a device tree node like
    this real-world example:
    
          rtc@68 {
            compatible = "dallas,ds1337";
            reg = <0x68>;
          };
    
    of_i2c_register_devices() will try to load a module called ds1337.ko.
    There is no such module, so it will fail.  If we look in modules.alias
    we will find entries like these:
    
    .
    .
    .
    alias i2c:ds1339 rtc_ds1307
    alias i2c:ds1338 rtc_ds1307
    alias i2c:ds1337 rtc_ds1307
    alias i2c:ds1307 rtc_ds1307
    alias i2c:ds1374 rtc_ds1374
    .
    .
    .
    
    The module we want is really called rtc_ds1307.ko.  If we request a
    module called "i2c:ds1337", the userspace module loader will do the
    right thing (unless it is busybox) and load rtc_ds1307.ko.  So we add
    the I2C_MODULE_PREFIX to the request_module() string.
    
    Signed-off-by: default avatarDavid Daney <ddaney@caviumnetworks.com>
    Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
    02086264