Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

FMC: create drivers/fmc and toplevel Kconfig question

This commit creates the drivers/fmc directory and puts the necessary
hooks for kbuild and kconfig. The code is currently a placeholder
that only registers an empty bus.

Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
Acked-by: Juan David Gonzalez Cobas <dcobas@cern.ch>
Acked-by: Emilio G. Cota <cota@braap.org>
Acked-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Alessandro Rubini and committed by
Greg Kroah-Hartman
9c9f32ed b1f254e3

+57
+9
MAINTAINERS
··· 3309 3309 S: Odd fixes 3310 3310 F: drivers/block/floppy.c 3311 3311 3312 + FMC SUBSYSTEM 3313 + M: Alessandro Rubini <rubini@gnudd.com> 3314 + W: http://www.ohwr.org/projects/fmc-bus 3315 + S: Supported 3316 + F: drivers/fmc/ 3317 + F: include/linux/fmc*.h 3318 + F: include/linux/ipmi-fru.h 3319 + K: fmc_d.*register 3320 + 3312 3321 FPU EMULATOR 3313 3322 M: Bill Metzenthen <billm@melbpc.org.au> 3314 3323 W: http://floatingpoint.sourceforge.net/emulator/index.html
+2
drivers/Kconfig
··· 166 166 167 167 source "drivers/reset/Kconfig" 168 168 169 + source "drivers/fmc/Kconfig" 170 + 169 171 endmenu
+1
drivers/Makefile
··· 152 152 obj-$(CONFIG_VME_BUS) += vme/ 153 153 obj-$(CONFIG_IPACK_BUS) += ipack/ 154 154 obj-$(CONFIG_NTB) += ntb/ 155 + obj-$(CONFIG_FMC) += fmc/
+17
drivers/fmc/Kconfig
··· 1 + # 2 + # FMC (ANSI-VITA 57.1) bus support 3 + # 4 + 5 + menuconfig FMC 6 + tristate "FMC support" 7 + help 8 + 9 + FMC (FPGA Mezzanine Carrier) is a mechanical and electrical 10 + standard for mezzanine cards that plug into a carrier board. 11 + This kernel subsystem supports the matching between carrier 12 + and mezzanine based on identifiers stored in the internal I2C 13 + EEPROM, as well as having carrier-independent drivers. 14 + 15 + The framework was born outside of the kernel and at this time 16 + the off-tree code base is more complete. Code and documentation 17 + is at git://ohwr.org/fmc-projects/fmc-bus.git .
+4
drivers/fmc/Makefile
··· 1 + 2 + obj-$(CONFIG_FMC) += fmc.o 3 + 4 + fmc-y = fmc-core.o
+24
drivers/fmc/fmc-core.c
··· 1 + /* Temporary placeholder so the empty code can build */ 2 + #include <linux/kernel.h> 3 + #include <linux/module.h> 4 + #include <linux/init.h> 5 + #include <linux/device.h> 6 + 7 + static struct bus_type fmc_bus_type = { 8 + .name = "fmc", 9 + }; 10 + 11 + static int fmc_init(void) 12 + { 13 + return bus_register(&fmc_bus_type); 14 + } 15 + 16 + static void fmc_exit(void) 17 + { 18 + bus_unregister(&fmc_bus_type); 19 + } 20 + 21 + module_init(fmc_init); 22 + module_exit(fmc_exit); 23 + 24 + MODULE_LICENSE("GPL");