mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 16:31:13 +00:00
a22b7a60d9
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:da77408537
("i2c-gpio-custom: minor bugfix") Fixes:3bc81edc70
("package: fix w1-gpio-custom package (closes #6770)") Signed-off-by: Sungbo Eo <mans0n@gorani.run>
48 lines
1.1 KiB
Makefile
48 lines
1.1 KiB
Makefile
#
|
|
# Copyright (C) 2008 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
include $(INCLUDE_DIR)/kernel.mk
|
|
|
|
PKG_NAME:=i2c-gpio-custom
|
|
PKG_RELEASE:=3
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define KernelPackage/i2c-gpio-custom
|
|
SUBMENU:=I2C support
|
|
TITLE:=Custom GPIO-based I2C device
|
|
DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core +kmod-i2c-gpio @!LINUX_4_19
|
|
FILES:=$(PKG_BUILD_DIR)/i2c-gpio-custom.ko
|
|
KCONFIG:=
|
|
endef
|
|
|
|
define KernelPackage/i2c-gpio-custom/description
|
|
Kernel module for register a custom i2c-gpio platform device.
|
|
endef
|
|
|
|
EXTRA_KCONFIG:= \
|
|
CONFIG_I2C_GPIO_CUSTOM=m
|
|
|
|
EXTRA_CFLAGS:= \
|
|
$(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(EXTRA_KCONFIG)))) \
|
|
$(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(EXTRA_KCONFIG)))) \
|
|
|
|
MAKE_OPTS:= \
|
|
$(KERNEL_MAKE_FLAGS) \
|
|
SUBDIRS="$(PKG_BUILD_DIR)" \
|
|
EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
|
|
$(EXTRA_KCONFIG)
|
|
|
|
define Build/Compile
|
|
$(MAKE) -C "$(LINUX_DIR)" \
|
|
$(MAKE_OPTS) \
|
|
modules
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,i2c-gpio-custom))
|