Skip to content

Commit

Permalink
[media] move i2c files into drivers/media/i2c
Browse files Browse the repository at this point in the history
Based on a patch from Sylvester Nawrocki

This fixes regression introduced with commmit cb7a01a,
"[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>
  • Loading branch information
Mauro Carvalho Chehab committed Sep 6, 2012
1 parent 79e8c7b commit 1daae51
Showing 1 changed file with 22 additions and 4 deletions.
26 changes: 22 additions & 4 deletions drivers/media/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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/

0 comments on commit 1daae51

Please sign in to comment.