spi-pl022.c (41966710ab574f1fcedf3e10e1ceef911c096d1d) | spi-pl022.c (71e63e748ee6f4bad482b8021386eeb74f6e47f1) |
---|---|
1/* 2 * A driver for the ARM PL022 PrimeCell SSP/SPI bus master. 3 * 4 * Copyright (C) 2008-2009 ST-Ericsson AB 5 * Copyright (C) 2006 STMicroelectronics Pvt. Ltd. 6 * 7 * Author: Linus Walleij <linus.walleij@stericsson.com> 8 * --- 2170 unchanged lines hidden (view full) --- 2179 } 2180 2181 status = clk_prepare(pl022->clk); 2182 if (status) { 2183 dev_err(&adev->dev, "could not prepare SSP/SPI bus clock\n"); 2184 goto err_clk_prep; 2185 } 2186 | 1/* 2 * A driver for the ARM PL022 PrimeCell SSP/SPI bus master. 3 * 4 * Copyright (C) 2008-2009 ST-Ericsson AB 5 * Copyright (C) 2006 STMicroelectronics Pvt. Ltd. 6 * 7 * Author: Linus Walleij <linus.walleij@stericsson.com> 8 * --- 2170 unchanged lines hidden (view full) --- 2179 } 2180 2181 status = clk_prepare(pl022->clk); 2182 if (status) { 2183 dev_err(&adev->dev, "could not prepare SSP/SPI bus clock\n"); 2184 goto err_clk_prep; 2185 } 2186 |
2187 status = clk_enable(pl022->clk); 2188 if (status) { 2189 dev_err(&adev->dev, "could not enable SSP/SPI bus clock\n"); 2190 goto err_no_clk_en; 2191 } 2192 |
|
2187 /* Disable SSP */ 2188 writew((readw(SSP_CR1(pl022->virtbase)) & (~SSP_CR1_MASK_SSE)), 2189 SSP_CR1(pl022->virtbase)); 2190 load_ssp_default_config(pl022); 2191 2192 status = request_irq(adev->irq[0], pl022_interrupt_handler, 0, "pl022", 2193 pl022); 2194 if (status < 0) { --- 37 unchanged lines hidden (view full) --- 2232 err_start_queue: 2233 err_init_queue: 2234 destroy_queue(pl022); 2235 if (platform_info->enable_dma) 2236 pl022_dma_remove(pl022); 2237 2238 free_irq(adev->irq[0], pl022); 2239 err_no_irq: | 2193 /* Disable SSP */ 2194 writew((readw(SSP_CR1(pl022->virtbase)) & (~SSP_CR1_MASK_SSE)), 2195 SSP_CR1(pl022->virtbase)); 2196 load_ssp_default_config(pl022); 2197 2198 status = request_irq(adev->irq[0], pl022_interrupt_handler, 0, "pl022", 2199 pl022); 2200 if (status < 0) { --- 37 unchanged lines hidden (view full) --- 2238 err_start_queue: 2239 err_init_queue: 2240 destroy_queue(pl022); 2241 if (platform_info->enable_dma) 2242 pl022_dma_remove(pl022); 2243 2244 free_irq(adev->irq[0], pl022); 2245 err_no_irq: |
2246 clk_disable(pl022->clk); 2247 err_no_clk_en: |
|
2240 clk_unprepare(pl022->clk); 2241 err_clk_prep: 2242 clk_put(pl022->clk); 2243 err_no_clk: 2244 iounmap(pl022->virtbase); 2245 err_no_ioremap: 2246 amba_release_regions(adev); 2247 err_no_ioregion: --- 204 unchanged lines hidden --- | 2248 clk_unprepare(pl022->clk); 2249 err_clk_prep: 2250 clk_put(pl022->clk); 2251 err_no_clk: 2252 iounmap(pl022->virtbase); 2253 err_no_ioremap: 2254 amba_release_regions(adev); 2255 err_no_ioregion: --- 204 unchanged lines hidden --- |