linux/drivers
Alexandre Bounine 2ec3ba69fa rapidio: convert switch drivers to modules
Rework RapidIO switch drivers to add an option to build them as loadable
kernel modules.

This patch removes RapidIO-specific vmlinux section and converts switch
drivers to be compatible with LDM driver registration method.  To simplify
registration of device-specific callback routines this patch introduces
rio_switch_ops data structure.  The sw_sysfs() callback is removed from
the list of device-specific operations because under the new structure its
functions can be handled by switch driver's probe() and remove() routines.

If a specific switch device driver is not loaded the RapidIO subsystem
core will use default standard-based operations to configure a switch.
Because the current implementation of RapidIO enumeration/discovery method
relies on availability of device-specific operations for error management,
switch device drivers must be loaded before the RapidIO
enumeration/discovery starts.

This patch also moves several common routines from enumeration/discovery
module into the RapidIO core code to make switch-specific operations
accessible to all components of RapidIO subsystem.

Signed-off-by: Alexandre Bounine <alexandre.bounine@idt.com>
Cc: Matt Porter <mporter@kernel.crashing.org>
Cc: Li Yang <leoli@freescale.com>
Cc: Kumar Gala <galak@kernel.crashing.org>
Cc: Andre van Herk <andre.van.herk@Prodrive.nl>
Cc: Micha Nelissen <micha.nelissen@Prodrive.nl>
Cc: Stef van Os <stef.van.os@Prodrive.nl>
Cc: Jean Delvare <jdelvare@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-07-03 16:08:04 -07:00
..
accessibility
acpi clean up scary strncpy(dst, src, strlen(src)) uses 2013-07-03 16:07:41 -07:00
amba
ata libata-acpi: add back ACPI based hotplug functionality 2013-06-25 00:51:33 +02:00
atm
auxdisplay
base drivers: avoid format string in dev_set_name 2013-07-03 16:07:41 -07:00
bcma
block drivers: avoid parsing names as kthread_run() format strings 2013-07-03 16:07:41 -07:00
bluetooth Bluetooth: btmrvl: fix thread stopping race 2013-06-13 13:05:40 -04:00
bus ARM SoC device tree changes 2013-07-02 14:23:01 -07:00
cdrom drivers/cdrom/cdrom.c: use kzalloc() for failing hardware 2013-07-03 16:07:25 -07:00
char /dev/oldmem: Remove the interface 2013-07-03 16:08:03 -07:00
clk ARM SoC late changes 2013-07-02 14:42:51 -07:00
clocksource Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2013-07-03 09:46:29 -07:00
connector
cpufreq ARM SoC driver specific changes 2013-07-02 14:33:21 -07:00
cpuidle ARM SoC specific changes 2013-07-02 13:43:38 -07:00
crypto ARM SoC driver specific changes 2013-07-02 14:33:21 -07:00
dca
devfreq drivers: avoid format string in dev_set_name 2013-07-03 16:07:41 -07:00
dio
dma drivers/dma: remove unused support for MEMSET operations 2013-07-03 16:07:42 -07:00
edac Finally eradicate CONFIG_HOTPLUG 2013-06-03 14:20:18 -07:00
eisa
extcon drivers: avoid format string in dev_set_name 2013-07-03 16:07:41 -07:00
firewire
firmware dmi: add support for exact DMI matches in addition to substring matching 2013-07-03 16:07:42 -07:00
fmc FMC: fix error handling in probe() function 2013-06-24 16:23:25 -07:00
gpio Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-07-02 16:14:35 -07:00
gpu radeon: remove redundant __list_for_each definition from mkregtable.c 2013-07-03 16:07:43 -07:00
hid HID: multitouch: prevent memleak with the allocated name 2013-06-12 11:13:38 +02:00
hsi drivers: avoid format string in dev_set_name 2013-07-03 16:07:41 -07:00
hv drivers: hv: allocate synic structures before hv_synic_init() 2013-06-24 16:24:17 -07:00
hwmon drivers: avoid parsing names as kthread_run() format strings 2013-07-03 16:07:41 -07:00
hwspinlock
i2c ARM SoC specific changes 2013-07-02 13:43:38 -07:00
ide drivers: avoid format string in dev_set_name 2013-07-03 16:07:41 -07:00
idle
iio staging:iio:adis16130: Move out of staging 2013-06-11 20:34:36 +01:00
infiniband drivers: avoid format string in dev_set_name 2013-07-03 16:07:41 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2013-06-23 16:12:46 -10:00
iommu Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-07-02 16:15:23 -07:00
ipack
irqchip Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-07-02 16:14:35 -07:00
isdn drivers: avoid format string in dev_set_name 2013-07-03 16:07:41 -07:00
leds
lguest x86, flags: Rename X86_EFLAGS_BIT1 to X86_EFLAGS_FIXED 2013-06-25 16:25:32 -07:00
macintosh
mailbox mailbox/omap: move the OMAP mailbox framework to drivers 2013-06-11 11:41:51 -05:00
md A few bugfixes for md 2013-06-13 10:13:29 -07:00
media drivers: avoid parsing names as kthread_run() format strings 2013-07-03 16:07:41 -07:00
memory memory: tegra30-mc: Fix IRQ handler. 2013-06-17 16:46:06 -07:00
memstick
message drivers: avoid format strings in names passed to alloc_workqueue() 2013-07-03 16:07:41 -07:00
mfd Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-07-02 16:14:35 -07:00
misc drivers/misc/sgi-gru/grufault.c: fix a sanity test in gru_set_context_option() 2013-07-03 16:07:42 -07:00
mmc Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2013-07-03 09:46:29 -07:00
mtd drivers: avoid parsing names as kthread_run() format strings 2013-07-03 16:07:41 -07:00
net ipw2200: convert __list_for_each usage to list_for_each 2013-07-03 16:07:43 -07:00
nfc
ntb
nubus
of PM voltage domain clean-up via Kevin Hilman <khilman@linaro.org>: 2013-06-20 16:41:37 +02:00
oprofile
parisc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-07-03 09:10:19 -07:00
parport parisc: parport0: fix this legacy no-device port driver! 2013-06-01 14:46:42 +02:00
pci drivers: avoid format strings in names passed to alloc_workqueue() 2013-07-03 16:07:41 -07:00
pcmcia Driver core patches for 3.11-rc1 2013-07-02 11:44:19 -07:00
pinctrl ARM SoC late changes 2013-07-02 14:42:51 -07:00
platform drivers: avoid format string in dev_set_name 2013-07-03 16:07:41 -07:00
pnp isapnp: switch to fixed_size_llseek() 2013-06-29 12:57:48 +04:00
power
pps
ps3
ptp build some drivers only when compile-testing 2013-06-24 16:41:32 -07:00
pwm
rapidio rapidio: convert switch drivers to modules 2013-07-03 16:08:04 -07:00
regulator ARM SoC device tree changes 2013-07-02 14:23:01 -07:00
remoteproc mailbox/omap: move the OMAP mailbox framework to drivers 2013-06-11 11:41:51 -05:00
reset
rpmsg
rtc drivers/rtc/rtc-sirfsoc.c: add rtc drivers for CSR SiRFprimaII and SiRFatlasVI 2013-07-03 16:08:01 -07:00
s390 clean up scary strncpy(dst, src, strlen(src)) uses 2013-07-03 16:07:41 -07:00
sbus
scsi drivers: avoid parsing names as kthread_run() format strings 2013-07-03 16:07:41 -07:00
sfi
sh
sn
spi drivers: avoid parsing names as kthread_run() format strings 2013-07-03 16:07:41 -07:00
ssb
ssbi Cleanups for MSM for 3.11 2013-06-14 18:28:02 -07:00
staging drivers: avoid parsing names as kthread_run() format strings 2013-07-03 16:07:41 -07:00
target iscsi-target: Remove left over v3.10-rc debug printks 2013-06-20 16:47:41 -07:00
tc
thermal thermal: exynos: Support both EXYNOS4X12 SoCs 2013-06-19 01:31:50 +09:00
tty Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-07-03 09:10:19 -07:00
uio uio: use vma_pages() to replace (vm_end - vm_start) >> PAGE_SHIFT 2013-07-03 16:07:26 -07:00
usb drivers: avoid parsing names as kthread_run() format strings 2013-07-03 16:07:41 -07:00
uwb drivers: avoid format string in dev_set_name 2013-07-03 16:07:41 -07:00
vfio vfio: remap_pfn_range() sets all those flags... 2013-06-29 12:46:41 +04:00
vhost vhost: fix ubuf_info cleanup 2013-06-11 02:46:21 -07:00
video backlight: convert from legacy pm ops to dev_pm_ops 2013-07-03 16:07:43 -07:00
virt
virtio mm: correctly update zone->managed_pages 2013-07-03 16:07:33 -07:00
vlynq
vme vme: vme_tsi148.c: fix error return code in tsi148_probe() 2013-06-24 16:23:25 -07:00
w1 w1: add family based automatic module loading 2013-06-03 14:09:14 -07:00
watchdog ARM SoC specific changes 2013-07-02 13:43:38 -07:00
xen drivers: avoid format string in dev_set_name 2013-07-03 16:07:41 -07:00
zorro zorro: switch to fixed_size_llseek() 2013-06-29 12:57:28 +04:00
Kconfig FMC: create drivers/fmc and toplevel Kconfig question 2013-06-17 16:38:57 -07:00
Makefile FMC: create drivers/fmc and toplevel Kconfig question 2013-06-17 16:38:57 -07:00