The linux_spi driver is now enabled by default on Linux. A man page entry and a line in --list-supported output have been added.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Index: flashrom-linux_spi_documentation/Makefile =================================================================== --- flashrom-linux_spi_documentation/Makefile (Revision 1495) +++ flashrom-linux_spi_documentation/Makefile (Arbeitskopie) @@ -209,6 +209,14 @@ endif endif
+ifneq ($(TARGET_OS), Linux) +ifeq ($(CONFIG_LINUX_SPI), yes) +UNSUPPORTED_FEATURES += CONFIG_LINUX_SPI=yes +else +override CONFIG_LINUX_SPI = no +endif +endif + # Determine the destination processor architecture. # IMPORTANT: The following line must be placed before ARCH is ever used # (of course), but should come after any lines setting CC because the line @@ -324,16 +332,15 @@ # Always enable Bus Pirate SPI for now. CONFIG_BUSPIRATE_SPI ?= yes
-# Disable Linux spidev interface support for now, until we check for a Linux -# device (not host, as DOS binaries for example are built on a Linux host). -CONFIG_LINUX_SPI ?= no - # Disable Dediprog SF100 until support is complete and tested. CONFIG_DEDIPROG ?= no
# Always enable Marvell SATA controllers for now. CONFIG_SATAMV ?= yes
+# Enable Linux spidev interface by default. We disable it on non-Linux targets. +CONFIG_LINUX_SPI ?= yes + # Disable wiki printing by default. It is only useful if you have wiki access. CONFIG_PRINT_WIKI ?= no
@@ -465,11 +472,6 @@ NEED_SERIAL := yes endif
-ifeq ($(CONFIG_LINUX_SPI), yes) -FEATURE_CFLAGS += -D'CONFIG_LINUX_SPI=1' -PROGRAMMER_OBJS += linux_spi.o -endif - ifeq ($(CONFIG_DEDIPROG), yes) FEATURE_CFLAGS += -D'CONFIG_DEDIPROG=1' FEATURE_LIBS += -lusb @@ -482,6 +484,11 @@ NEED_PCI := yes endif
+ifeq ($(CONFIG_LINUX_SPI), yes) +FEATURE_CFLAGS += -D'CONFIG_LINUX_SPI=1' +PROGRAMMER_OBJS += linux_spi.o +endif + ifeq ($(NEED_SERIAL), yes) LIB_OBJS += serial.o endif Index: flashrom-linux_spi_documentation/flashrom.8 =================================================================== --- flashrom-linux_spi_documentation/flashrom.8 (Revision 1495) +++ flashrom-linux_spi_documentation/flashrom.8 (Arbeitskopie) @@ -205,6 +205,8 @@ .sp .BR "* ogp_spi" " (for SPI flash ROMs on Open Graphics Project graphics card)" .sp +.BR "* linux_spi" " (for SPI flash ROMs accessible via /dev/spidevX.Y on Linux)" +.sp Some programmers have optional or mandatory parameters which are described in detail in the .B PROGRAMMER SPECIFIC INFO @@ -607,6 +609,17 @@ .sp More information about the hardware is available at .BR http://wiki.opengraphics.org . +.TP +.BR "linux_spi " programmer +You have to specify the SPI controller to use with the +.sp +.B " flashrom -p linux_spi:dev=/dev/spidevX.Y" +.sp +syntax where +.B /dev/spidevX.Y +is the Linux device node for your SPI controller. +.sp +Please note that the linux_spi driver only works on Linux. .SH EXIT STATUS flashrom exits with 0 on success, 1 on most failures but with 2 if /dev/mem (/dev/xsvc on Solaris) can not be opened and with 3 if a call to mmap() fails. Index: flashrom-linux_spi_documentation/print.c =================================================================== --- flashrom-linux_spi_documentation/print.c (Revision 1495) +++ flashrom-linux_spi_documentation/print.c (Arbeitskopie) @@ -527,6 +527,11 @@ programmer_table[PROGRAMMER_SATAMV].name); print_supported_pcidevs(satas_mv); #endif +#if CONFIG_LINUX_SPI == 1 + msg_ginfo("\nSupported devices for the %s programmer:\n", + programmer_table[PROGRAMMER_LINUX_SPI].name); + msg_ginfo("Device files /dev/spidev*.*\n"); +#endif }
#if CONFIG_INTERNAL == 1