static void bfin_spi_disable(struct driver_data *drv_data) { u16 cr; cr = read_CTRL(drv_data); write_CTRL(drv_data, (cr & (~BIT_CTL_ENABLE))); }
static void bfin_spi_enable(struct bfin_spi_master_data *drv_data) { u16 cr; cr = read_CTRL(drv_data); write_CTRL(drv_data, (cr | BIT_CTL_ENABLE)); }
/* stop controller and re-config current chip*/ static void bfin_spi_restore_state(struct driver_data *drv_data) { struct chip_data *chip = drv_data->cur_chip; /* Clear status and disable clock */ write_STAT(drv_data, BIT_STAT_CLR); bfin_spi_disable(drv_data); dev_dbg(&drv_data->pdev->dev, "restoring spi ctl state\n"); /* Load the registers */ write_CTRL(drv_data, chip->ctl_reg); write_BAUD(drv_data, chip->baud); bfin_spi_enable(drv_data); bfin_spi_cs_active(drv_data, chip); }