kernel: add backlight kernel module support
[openwrt/openwrt.git] / package / kernel / linux / modules / video.mk
index 0681b0e767815b74a8fdea908fa9490d3fdcd366..61d7d88497b336910c3cd1882840515abc40e1de 100644 (file)
@@ -8,13 +8,53 @@
 
 VIDEO_MENU:=Video Support
 
-ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.7.0)),1)
 V4L2_DIR=v4l2-core
 V4L2_USB_DIR=usb
-else
-V4L2_DIR=video
-V4L2_USB_DIR=video
-endif
+
+#
+# Video Display
+#
+
+define KernelPackage/backlight
+       SUBMENU:=$(VIDEO_MENU)
+       TITLE:=Backlight support
+       KCONFIG:=CONFIG_BACKLIGHT_CLASS_DEVICE=m \
+               CONFIG_BACKLIGHT_LCD_SUPPORT=y \
+               CONFIG_LCD_CLASS_DEVICE=n \
+               CONFIG_BACKLIGHT_PWM=n \
+               CONFIG_BACKLIGHT_GENERIC=n \
+               CONFIG_BACKLIGHT_ADP8860=n \
+               CONFIG_BACKLIGHT_ADP8870=n \
+               CONFIG_BACKLIGHT_PM8941_WLED=n
+       FILES:=$(LINUX_DIR)/drivers/video/backlight/backlight.ko
+       AUTOLOAD:=$(call AutoProbe,video backlight)
+endef
+
+define KernelPackage/backlight/description
+       Kernel module for Backlight support.
+endef
+
+$(eval $(call KernelPackage,backlight))
+
+define AddDepends/backlight
+       SUBMENU:=$(VIDEO_MENU)
+       DEPENDS+=kmod-backlight $(1)
+endef
+
+define KernelPackage/backlight-pwm
+       TITLE:=PWM Backlight support
+       DEPENDS:=+kmod-pwm
+       KCONFIG:=CONFIG_BACKLIGHT_PWM=m
+       FILES:=$(LINUX_DIR)/drivers/video/backlight/pwm_bl.ko
+       AUTOLOAD:=$(call AutoProbe,video pwm_bl)
+       $(call AddDepends/backlight)
+endef
+
+define KernelPackage/backlight/backlight-pwm
+       Kernel module for PWM based Backlight support.
+endef
+
+$(eval $(call KernelPackage,backlight-pwm))
 
 
 define KernelPackage/fb
@@ -22,7 +62,7 @@ define KernelPackage/fb
   TITLE:=Framebuffer support
   DEPENDS:=@DISPLAY_SUPPORT
   KCONFIG:=CONFIG_FB
-  FILES:=$(LINUX_DIR)/drivers/video/fb.ko
+  FILES:=$(LINUX_DIR)/drivers/video/fbdev/core/fb.ko
   AUTOLOAD:=$(call AutoLoad,06,fb)
 endef
 
@@ -42,7 +82,7 @@ define KernelPackage/fb-cfb-fillrect
   TITLE:=Framebuffer software rectangle filling support
   DEPENDS:=+kmod-fb
   KCONFIG:=CONFIG_FB_CFB_FILLRECT
-  FILES:=$(LINUX_DIR)/drivers/video/cfbfillrect.ko
+  FILES:=$(LINUX_DIR)/drivers/video/fbdev/core/cfbfillrect.ko
   AUTOLOAD:=$(call AutoLoad,07,cfbfillrect)
 endef
 
@@ -58,7 +98,7 @@ define KernelPackage/fb-cfb-copyarea
   TITLE:=Framebuffer software copy area support
   DEPENDS:=+kmod-fb
   KCONFIG:=CONFIG_FB_CFB_COPYAREA
-  FILES:=$(LINUX_DIR)/drivers/video/cfbcopyarea.ko
+  FILES:=$(LINUX_DIR)/drivers/video/fbdev/core/cfbcopyarea.ko
   AUTOLOAD:=$(call AutoLoad,07,cfbcopyarea)
 endef
 
@@ -73,7 +113,7 @@ define KernelPackage/fb-cfb-imgblt
   TITLE:=Framebuffer software image blit support
   DEPENDS:=+kmod-fb
   KCONFIG:=CONFIG_FB_CFB_IMAGEBLIT
-  FILES:=$(LINUX_DIR)/drivers/video/cfbimgblt.ko
+  FILES:=$(LINUX_DIR)/drivers/video/fbdev/core/cfbimgblt.ko
   AUTOLOAD:=$(call AutoLoad,07,cfbimgblt)
 endef
 
@@ -99,18 +139,10 @@ define KernelPackage/video-core
        CONFIG_V4L_PCI_DRIVERS=y \
        CONFIG_V4L_PLATFORM_DRIVERS=y \
        CONFIG_V4L_ISA_PARPORT_DRIVERS=y
-ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.6.0)),1)
   FILES:= \
        $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/v4l2-common.ko \
        $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/videodev.ko
   AUTOLOAD:=$(call AutoLoad,60, videodev v4l2-common)
-else
-  FILES:= \
-       $(if $(CONFIG_COMPAT),$(LINUX_DIR)/drivers/media/$(V4L2_DIR)/v4l2-compat-ioctl32.ko) \
-       $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/v4l2-common.ko \
-       $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/videodev.ko
-  AUTOLOAD:=$(call AutoLoad,60, $(if $(CONFIG_COMPAT),v4l2-compat-ioctl32) videodev v4l2-common)
-endif
 endef
 
 define KernelPackage/video-core/description
@@ -135,15 +167,17 @@ endef
 
 define KernelPackage/video-videobuf2
   TITLE:=videobuf2 lib
+  DEPENDS:=+kmod-dma-buf
   KCONFIG:= \
        CONFIG_VIDEOBUF2_CORE \
        CONFIG_VIDEOBUF2_MEMOPS \
        CONFIG_VIDEOBUF2_VMALLOC
   FILES:= \
        $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/videobuf2-core.ko \
+       $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/videobuf2-v4l2.ko@ge4.4 \
        $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/videobuf2-memops.ko \
        $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/videobuf2-vmalloc.ko
-  AUTOLOAD:=$(call AutoLoad,65,videobuf2-core videobuf2-memops videobuf2-vmalloc)
+  AUTOLOAD:=$(call AutoLoad,65,videobuf2-core videobuf-v4l2@ge4.4 videobuf2-memops videobuf2-vmalloc)
   $(call AddDepends/video)
 endef
 
@@ -170,22 +204,6 @@ endef
 $(eval $(call KernelPackage,video-cpia2))
 
 
-define KernelPackage/video-sn9c102
-  TITLE:=SN9C102 Camera Chip support
-  DEPENDS:=@USB_SUPPORT +kmod-usb-core
-  KCONFIG:=CONFIG_USB_SN9C102
-  FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/sn9c102/sn9c102.ko
-  AUTOLOAD:=$(call AutoProbe,gspca_sn9c20x)
-  $(call AddDepends/camera)
-endef
-
-define KernelPackage/video-sn9c102/description
- Kernel modules for supporting SN9C102 camera chips
-endef
-
-$(eval $(call KernelPackage,video-sn9c102))
-
-
 define KernelPackage/video-pwc
   TITLE:=Philips USB webcam support
   DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-video-videobuf2
@@ -206,12 +224,11 @@ $(eval $(call KernelPackage,video-pwc))
 
 define KernelPackage/video-uvc
   TITLE:=USB Video Class (UVC) support
-  DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-video-videobuf2
+  DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-video-videobuf2 +kmod-input-core
   KCONFIG:= CONFIG_USB_VIDEO_CLASS
   FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/uvc/uvcvideo.ko
   AUTOLOAD:=$(call AutoProbe,uvcvideo)
   $(call AddDepends/camera)
-  $(call AddDepends/input)
 endef
 
 define KernelPackage/video-uvc/description