/* mpc52xx_spi_fsm_process - Finite State Machine iteration function @irq: irq number that triggered the FSM or 0 for polling @ms: pointer to  */
static void mpc52xx_spi_fsm_process(int irq, struct mpc52xx_spi *ms)
/* mpc52xx_spi_fsm_process - Finite State Machine iteration function @irq: irq number that triggered the FSM or 0 for polling @ms: pointer to  */
static void mpc52xx_spi_fsm_process(int irq, struct mpc52xx_spi *ms)
{
	int rc = FSM_CONTINUE;
	u8 status, data;
	while (rc == FSM_CONTINUE) {
		status = in_8(ms->regs + SPI_STATUS);
		data = in_8(ms->regs + SPI_DATA);
		rc = ms->state(irq, ms, status, data);
	}
	if (rc == FSM_POLL)
		schedule_work(&ms->work);
}