diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-08-24 19:44:44 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-09-06 18:42:54 -0300 |
commit | 1daae517b3a903177f79269c694c9a8fb4ddb0bb (patch) | |
tree | 6b00329a41cf28fd46ab7b404685ddb63cf07b83 /drivers/media/Makefile | |
parent | 79e8c7bebb467bbc3f2514d75bba669a3f354324 (diff) | |
download | lwn-1daae517b3a903177f79269c694c9a8fb4ddb0bb.tar.gz lwn-1daae517b3a903177f79269c694c9a8fb4ddb0bb.zip |
[media] move i2c files into drivers/media/i2c
Based on a patch from Sylvester Nawrocki
This fixes regression introduced with commmit cb7a01ac324bf2ee2,
"[media] move i2c files into drivers/media/i2c".
The linked order affect what drivers will be initialized first, when
they're built-in at Kernel. While there are macros that allow changing
the init order, like subsys_initcall(), late_initcall() & friends,
when all drivers linked belong to the same subsystem, it is easier
to change the order at the Makefile.
All I2C modules must be linked before any drivers that actually use it,
in order to ensure proper module initialization order.
Also, the core drivers should be initialized before the drivers that use
them.
This patch reorders the drivers init, in order to fulfill the above
requirements.
Reported-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
Acked-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/Makefile')
-rw-r--r-- | drivers/media/Makefile | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/drivers/media/Makefile b/drivers/media/Makefile index b0b0193cd69d..620f275a45c9 100644 --- a/drivers/media/Makefile +++ b/drivers/media/Makefile @@ -4,12 +4,30 @@ media-objs := media-device.o media-devnode.o media-entity.o +# +# I2C drivers should come before other drivers, otherwise they'll fail +# when compiled as builtin drivers +# +obj-y += i2c/ tuners/ +obj-$(CONFIG_DVB_CORE) += dvb-frontends/ + +# +# Now, let's link-in the media core +# ifeq ($(CONFIG_MEDIA_CONTROLLER),y) obj-$(CONFIG_MEDIA_SUPPORT) += media.o endif -obj-y += tuners/ common/ rc/ platform/ -obj-y += i2c/ pci/ usb/ mmc/ firewire/ parport/ +obj-$(CONFIG_VIDEO_DEV) += v4l2-core/ +obj-$(CONFIG_DVB_CORE) += dvb-core/ + +# There are both core and drivers at RC subtree - merge before drivers +obj-y += rc/ + +# +# Finally, merge the drivers that require the core +# + +obj-y += common/ platform/ pci/ usb/ mmc/ firewire/ parport/ +obj-$(CONFIG_VIDEO_DEV) += radio/ -obj-$(CONFIG_VIDEO_DEV) += radio/ v4l2-core/ -obj-$(CONFIG_DVB_CORE) += dvb-core/ dvb-frontends/ |