mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 23:12:32 +00:00
e242125d71
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> (cherry picked from commita22b7a60d9
)
49 lines
1.1 KiB
Makefile
49 lines
1.1 KiB
Makefile
#
|
|
# Copyright (C) 2008-2012 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:=w1-gpio-custom
|
|
PKG_RELEASE:=4
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define KernelPackage/w1-gpio-custom
|
|
SUBMENU:=W1 support
|
|
TITLE:=Custom GPIO-based 1-wire device
|
|
DEPENDS:=kmod-w1 +kmod-w1-master-gpio
|
|
FILES:=$(PKG_BUILD_DIR)/w1-gpio-custom.ko
|
|
KCONFIG:=
|
|
endef
|
|
|
|
define KernelPackage/w1-gpio-custom/description
|
|
Kernel module to register a custom w1-gpio platform device.
|
|
endef
|
|
|
|
EXTRA_KCONFIG:= \
|
|
CONFIG_W1_MASTER_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,w1-gpio-custom))
|
|
|