Allow platfom_data to override the mode bits. This is needed for
supporting the rtc on the Routerstation Pro.
---
 .../arch/mips/include/asm/mach-ar71xx/platform.h   |    1 +
 target/linux/ar71xx/files/drivers/spi/ar71xx_spi.c |    2 ++
 2 files changed, 3 insertions(+), 0 deletions(-)

diff --git 
a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/platform.h 
b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/platform.h
index 145e79f..0214b80 100644
--- a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/platform.h
+++ b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/platform.h
@@ -52,6 +52,7 @@ struct ar71xx_ehci_platform_data {
 struct ar71xx_spi_platform_data {
        unsigned        bus_num;
        unsigned        num_chipselect;
+       unsigned        mode_bits;
        u32             (*get_ioc_base)(u8 chip_select, int cs_high, int is_on);
 };
 
diff --git a/target/linux/ar71xx/files/drivers/spi/ar71xx_spi.c 
b/target/linux/ar71xx/files/drivers/spi/ar71xx_spi.c
index cb6e1b7..50d0f0e 100644
--- a/target/linux/ar71xx/files/drivers/spi/ar71xx_spi.c
+++ b/target/linux/ar71xx/files/drivers/spi/ar71xx_spi.c
@@ -214,6 +214,8 @@ static int ar71xx_spi_probe(struct platform_device *pdev)
                sp->bitbang.master->num_chipselect = pdata->num_chipselect;
                if (pdata->get_ioc_base)
                        sp->get_ioc_base = pdata->get_ioc_base;
+               if (pdata->mode_bits)
+                       master->mode_bits = pdata->mode_bits;
        } else {
                sp->bitbang.master->bus_num = 0;
                sp->bitbang.master->num_chipselect = 3;
-- 
1.6.5

_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to