static int __init of_fsl_spi_probe(char *type, char *compatible, u32 sysclk,
struct spi_board_info *board_infos,
unsigned int num_board_infos,
- void (*activate_cs)(u8 cs, u8 polarity),
- void (*deactivate_cs)(u8 cs, u8 polarity))
+ void (*cs_control)(struct spi_device *dev,
+ bool on))
{
struct device_node *np;
unsigned int i = 0;
struct resource res[2];
struct platform_device *pdev;
struct fsl_spi_platform_data pdata = {
- .activate_cs = activate_cs,
- .deactivate_cs = deactivate_cs,
+ .cs_control = cs_control,
};
memset(res, 0, sizeof(res));
int __init fsl_spi_init(struct spi_board_info *board_infos,
unsigned int num_board_infos,
- void (*activate_cs)(u8 cs, u8 polarity),
- void (*deactivate_cs)(u8 cs, u8 polarity))
+ void (*cs_control)(struct spi_device *spi, bool on))
{
u32 sysclk = -1;
int ret;
}
ret = of_fsl_spi_probe(NULL, "fsl,spi", sysclk, board_infos,
- num_board_infos, activate_cs, deactivate_cs);
+ num_board_infos, cs_control);
if (!ret)
of_fsl_spi_probe("spi", "fsl_spi", sysclk, board_infos,
- num_board_infos, activate_cs, deactivate_cs);
+ num_board_infos, cs_control);
return spi_register_board_info(board_infos, num_board_infos);
}