Skip to content
  • Sungbo Eo's avatar
    kernel: fix *-gpio-custom module unloading · e242125d
    Sungbo Eo authored
    Unloading and reloading the modules fails, as platform_device_put() does not
    release resources fully.
    
    root@OpenWrt:/# insmod i2c-gpio-custom bus0=0,18,0,5
    [  196.860620] Custom GPIO-based I2C driver version 0.1.1
    [  196.871162] ------------[ cut here ]------------
    [  196.880517] WARNING: CPU: 0 PID: 1365 at fs/sysfs/dir.c:31 0x80112158
    [  196.893431] sysfs: cannot create duplicate filename '/devices/platform/i2c-gpio.0'
    ...
    [  197.513200] kobject_add_internal failed for i2c-gpio.0 with -EEXIST, don't try to register things with the same name in the same directory.
    
    This patch fixes it by replacing platform_device_put() to
    platform_device_unregister().
    
    Fixes: da774085 ("i2c-gpio-custom: minor bugfix")
    Fixes: 3bc81edc
    
     ("package: fix w1-gpio-custom package (closes #6770)")
    
    Signed-off-by: default avatarSungbo Eo <mans0n@gorani.run>
    (cherry picked from commit a22b7a60)
    e242125d