diff options
Diffstat (limited to 'target/linux/brcm63xx/patches-3.8/015-spi-bcm63xx-remove-unused-speed_hz-member-variable.patch')
-rw-r--r-- | target/linux/brcm63xx/patches-3.8/015-spi-bcm63xx-remove-unused-speed_hz-member-variable.patch | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/patches-3.8/015-spi-bcm63xx-remove-unused-speed_hz-member-variable.patch b/target/linux/brcm63xx/patches-3.8/015-spi-bcm63xx-remove-unused-speed_hz-member-variable.patch new file mode 100644 index 000000000..d7b9327f6 --- /dev/null +++ b/target/linux/brcm63xx/patches-3.8/015-spi-bcm63xx-remove-unused-speed_hz-member-variable.patch @@ -0,0 +1,67 @@ +From 5ff6b05a18295fa7e03de0fdf32d681a90b69df5 Mon Sep 17 00:00:00 2001 +From: Jonas Gorski <jogo@openwrt.org> +Date: Sat, 30 Mar 2013 10:26:55 +0100 +Subject: [PATCH] spi/bcm63xx: remove unused speed_hz member variable + +speed_hz is a write only member, so we can safely remove it and its +generation. Also fixes the missing clk_put after getting the periph +clock. + +Signed-off-by: Jonas Gorski <jogo@openwrt.org> +--- + arch/mips/bcm63xx/dev-spi.c | 11 ----------- + arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_spi.h | 1 - + drivers/spi/spi-bcm63xx.c | 2 -- + 3 files changed, 14 deletions(-) + +--- a/arch/mips/bcm63xx/dev-spi.c ++++ b/arch/mips/bcm63xx/dev-spi.c +@@ -85,20 +85,9 @@ static struct platform_device bcm63xx_sp + + int __init bcm63xx_spi_register(void) + { +- struct clk *periph_clk; +- + if (BCMCPU_IS_6328() || BCMCPU_IS_6345()) + return -ENODEV; + +- periph_clk = clk_get(NULL, "periph"); +- if (IS_ERR(periph_clk)) { +- pr_err("unable to get periph clock\n"); +- return -ENODEV; +- } +- +- /* Set bus frequency */ +- spi_pdata.speed_hz = clk_get_rate(periph_clk); +- + spi_resources[0].start = bcm63xx_regset_address(RSET_SPI); + spi_resources[0].end = spi_resources[0].start; + spi_resources[1].start = bcm63xx_get_irq_number(IRQ_SPI); +--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_spi.h ++++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_spi.h +@@ -13,7 +13,6 @@ struct bcm63xx_spi_pdata { + unsigned int msg_ctl_width; + int bus_num; + int num_chipselect; +- u32 speed_hz; + }; + + enum bcm63xx_regs_spi { +--- a/drivers/spi/spi-bcm63xx.c ++++ b/drivers/spi/spi-bcm63xx.c +@@ -46,7 +46,6 @@ struct bcm63xx_spi { + int irq; + + /* Platform data */ +- u32 speed_hz; + unsigned fifo_size; + unsigned int msg_type_shift; + unsigned int msg_ctl_width; +@@ -436,7 +435,6 @@ static int bcm63xx_spi_probe(struct plat + master->unprepare_transfer_hardware = bcm63xx_spi_unprepare_transfer; + master->transfer_one_message = bcm63xx_spi_transfer_one; + master->mode_bits = MODEBITS; +- bs->speed_hz = pdata->speed_hz; + bs->msg_type_shift = pdata->msg_type_shift; + bs->msg_ctl_width = pdata->msg_ctl_width; + bs->tx_io = (u8 *)(bs->regs + bcm63xx_spireg(SPI_MSG_DATA)); |