Convert the existing it8716f_* functions to generic_spi_* functions by
applying abstraction and wrapping.

Signed-off-by: Carl-Daniel Hailfinger <[EMAIL PROTECTED]>

---

Index: util/flashrom/flash.h
===================================================================
--- util/flashrom/flash.h       (Revision 2862)
+++ util/flashrom/flash.h       (Arbeitskopie)
@@ -209,7 +209,7 @@
 
 /* spi.c */
 int probe_spi(struct flashchip *flash);
-int it87xx_probe_serial_flash(const char *name);
+int it87xx_probe_spi_flash(const char *name);
 
 /* 82802ab.c */
 int probe_82802ab(struct flashchip *flash);
Index: util/flashrom/spi.c
===================================================================
--- util/flashrom/spi.c (Revision 2862)
+++ util/flashrom/spi.c (Arbeitskopie)
@@ -68,7 +68,7 @@
        regwrite(port, 0x02, 0x02);
 }
 
-static uint16_t find_ite_serial_flash_port(uint16_t port)
+static uint16_t find_ite_spi_flash_port(uint16_t port)
 {
        uint8_t tmp = 0;
        uint16_t id, flashport = 0;
@@ -102,6 +102,14 @@
        return flashport;
 }
 
+int it87xx_probe_spi_flash(const char *name)
+{
+       it8716f_flashport = find_ite_spi_flash_port(ITE_SUPERIO_PORT1);
+       if (!it8716f_flashport)
+               it8716f_flashport = find_ite_spi_flash_port(ITE_SUPERIO_PORT2);
+       return (!it8716f_flashport);
+}
+
 /* The IT8716F only supports commands with length 1,2,4,5 bytes including
    command byte and can not read more than 3 bytes from the device.
    This function expects writearr[0] to be the first byte sent to the device,
@@ -162,31 +170,30 @@
        return 0;
 }
 
-static int it8716f_serial_rdid(uint16_t port, unsigned char *readarr)
+static int generic_spi_command(unsigned char writecnt, unsigned char readcnt, 
const unsigned char *writearr, unsigned char *readarr)
 {
+       if (it8716f_flashport)
+               return it8716f_spi_command(it8716f_flashport, writecnt, 
readcnt, writearr, readarr);
+       printf("%s called, but no SPI chipset detected\n", __FUNCTION__);
+       return 1;
+}
+
+static int generic_spi_rdid(unsigned char *readarr)
+{
        const unsigned char cmd[] = JEDEC_RDID;
 
-       if (it8716f_spi_command(port, JEDEC_RDID_OUTSIZE, JEDEC_RDID_INSIZE, 
cmd, readarr))
+       if (generic_spi_command(JEDEC_RDID_OUTSIZE, JEDEC_RDID_INSIZE, cmd, 
readarr))
                return 1;
        printf("RDID returned %02x %02x %02x\n", readarr[0], readarr[1], 
readarr[2]);
        return 0;
 }
 
-int it87xx_probe_serial_flash(const char *name)
-{
-       it8716f_flashport = find_ite_serial_flash_port(ITE_SUPERIO_PORT1);
-       if (!it8716f_flashport)
-               it8716f_flashport = 
find_ite_serial_flash_port(ITE_SUPERIO_PORT2);
-       return (!it8716f_flashport);
-}
-
 int probe_spi(struct flashchip *flash)
 {
        unsigned char readarr[3];
        uint8_t manuf_id;
        uint16_t model_id;
-       if (it8716f_flashport) {
-               it8716f_serial_rdid(it8716f_flashport, readarr);
+       if (!generic_spi_rdid(readarr)) {
                manuf_id = readarr[0];
                model_id = (readarr[1] << 8) | readarr[2];
                printf_debug("%s: id1 0x%x, id2 0x%x\n", __FUNCTION__, 
manuf_id, model_id);
Index: util/flashrom/board_enable.c
===================================================================
--- util/flashrom/board_enable.c        (Revision 2862)
+++ util/flashrom/board_enable.c        (Arbeitskopie)
@@ -355,7 +355,7 @@
 
 struct board_pciid_enable board_pciid_enables[] = {
        {0x10de, 0x0360, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-        "gigabyte", "m57sli", "GIGABYTE GA-M57SLI", it87xx_probe_serial_flash},
+        "gigabyte", "m57sli", "GIGABYTE GA-M57SLI", it87xx_probe_spi_flash},
        {0x1022, 0x7468, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
         "iwill", "dk8_htx", "IWILL DK8-HTX", w83627hf_gpio24_raise_2e},
        {0x10de, 0x005e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,



-- 
linuxbios mailing list
[email protected]
http://www.linuxbios.org/mailman/listinfo/linuxbios

Reply via email to