@ -13,6 +13,7 @@
# include <linux/module.h>
# include <linux/init.h>
# include <linux/types.h>
# include <linux/errno.h>
# include <linux/interrupt.h>
# include <linux/of_platform.h>
@ -30,8 +31,7 @@
struct mpc52xx_psc_spi {
/* fsl_spi_platform data */
void ( * activate_cs ) ( u8 , u8 ) ;
void ( * deactivate_cs ) ( u8 , u8 ) ;
void ( * cs_control ) ( struct spi_device * spi , bool on ) ;
u32 sysclk ;
/* driver internal data */
@ -111,18 +111,16 @@ static void mpc52xx_psc_spi_activate_cs(struct spi_device *spi)
out_be16 ( ( u16 __iomem * ) & psc - > ccr , ccr ) ;
mps - > bits_per_word = cs - > bits_per_word ;
if ( mps - > activate_cs )
mps - > activate_cs ( spi - > chip_select ,
( spi - > mode & SPI_CS_HIGH ) ? 1 : 0 ) ;
if ( mps - > cs_control )
mps - > cs_control ( spi , ( spi - > mode & SPI_CS_HIGH ) ? 1 : 0 ) ;
}
static void mpc52xx_psc_spi_deactivate_cs ( struct spi_device * spi )
{
struct mpc52xx_psc_spi * mps = spi_master_get_devdata ( spi - > master ) ;
if ( mps - > deactivate_cs )
mps - > deactivate_cs ( spi - > chip_select ,
( spi - > mode & SPI_CS_HIGH ) ? 1 : 0 ) ;
if ( mps - > cs_control )
mps - > cs_control ( spi , ( spi - > mode & SPI_CS_HIGH ) ? 0 : 1 ) ;
}
# define MPC52xx_PSC_BUFSIZE (MPC52xx_PSC_RFNUM_MASK + 1)
@ -388,15 +386,13 @@ static int __init mpc52xx_psc_spi_do_probe(struct device *dev, u32 regaddr,
mps - > irq = irq ;
if ( pdata = = NULL ) {
dev_warn ( dev , " probe called without platform data, no "
" (de)activate_cs function will be called \n " ) ;
mps - > activate_cs = NULL ;
mps - > deactivate_cs = NULL ;
" cs_control function will be called \n " ) ;
mps - > cs_control = NULL ;
mps - > sysclk = 0 ;
master - > bus_num = bus_num ;
master - > num_chipselect = 255 ;
} else {
mps - > activate_cs = pdata - > activate_cs ;
mps - > deactivate_cs = pdata - > deactivate_cs ;
mps - > cs_control = pdata - > cs_control ;
mps - > sysclk = pdata - > sysclk ;
master - > bus_num = pdata - > bus_num ;
master - > num_chipselect = pdata - > max_chipselect ;