static void pcm990_mci_setpower(struct device *dev, unsigned int vdd) { struct pxamci_platform_data *p_d = dev->platform_data; u8 val; val = pcm990_cpld_readb(PCM990_CTRL_REG5); if ((1 << vdd) & p_d->ocr_mask) val |= PCM990_CTRL_MMC2PWR; else val &= ~PCM990_CTRL_MMC2PWR; pcm990_cpld_writeb(PCM990_CTRL_MMC2PWR, PCM990_CTRL_REG5); }
static void pcm990_unmask_irq(struct irq_data *d) { int pcm990_irq = (d->irq - PCM027_IRQ(0)); u8 val; /* the irq can be acknowledged only if deasserted, so it's done here */ pcm990_irq_enabled |= (1 << pcm990_irq); val = pcm990_cpld_readb(PCM990_CTRL_INTSETCLR); val |= 1 << pcm990_irq; pcm990_cpld_writeb(val, PCM990_CTRL_INTSETCLR); pcm990_cpld_writeb(pcm990_irq_enabled, PCM990_CTRL_INTMSKENA); }