/* Devices are selected using Chip Selects on GPIOs. ADS7846 Routines  */
unsigned long corgi_ssp_ads7846_putget(ulong data)
/* Devices are selected using Chip Selects on GPIOs. ADS7846 Routines  */
unsigned long corgi_ssp_ads7846_putget(ulong data)
{
	unsigned long flag;
	u32 ret = 0;
	spin_lock_irqsave(&corgi_ssp_lock, flag);
	if (ssp_machinfo->cs_ads7846 >= 0)
		GPCR(ssp_machinfo->cs_ads7846) = GPIO_bit(ssp_machinfo->cs_ads7846);
	ssp_write_word(&corgi_ssp_dev,data);
 	ssp_read_word(&corgi_ssp_dev, &ret);
	if (ssp_machinfo->cs_ads7846 >= 0)
		GPSR(ssp_machinfo->cs_ads7846) = GPIO_bit(ssp_machinfo->cs_ads7846);
	spin_unlock_irqrestore(&corgi_ssp_lock, flag);
	return ret;
}