include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk

USB_MENU:=USB Support

USBNET_DIR:=net/usb

PKG_NAME:=usb-net-simcom-wwan
PKG_RELEASE:=simcom-7600

include $(INCLUDE_DIR)/package.mk

define KernelPackage/$(PKG_NAME)
  SUBMENU:=$(USB_MENU)
  TITLE:=SIMCOM 7600 WWAN driver
  FILES:=$(PKG_BUILD_DIR)/simcom_wwan.ko
  KCONFIG:=
  AUTOLOAD:=$(call AutoProbe,simcom_wwan)
  DEPENDS:=+kmod-usb-net +kmod-usb-wdm +kmod-usb-serial +kmod-usb-serial-option +kmod-usb-serial-wwan +wwan
endef

define KernelPackage/$(PKG_NAME)/description
 Kernel support for Simcom 7600 4G and LTE modems
endef

EXTRA_KCONFIG:= \
	CONFIG_USB_NET_SIMCOM_SIM7600=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:= \
	ARCH="$(LINUX_KARCH)" \
	CROSS_COMPILE="$(TARGET_CROSS)" \
	SUBDIRS="$(PKG_BUILD_DIR)" \
	EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
	$(EXTRA_KCONFIG)

define Build/Prepare
	mkdir -p $(PKG_BUILD_DIR)
	$(CP) ./src/* $(PKG_BUILD_DIR)/
endef

define Build/Compile
	$(MAKE) -C "$(LINUX_DIR)" \
		$(MAKE_OPTS) \
		modules
endef

$(eval $(call KernelPackage,$(PKG_NAME)))
