On Sun, Jul 05, 2009 at 09:51:55AM -0300, Mauro Carvalho Chehab wrote: > Hmm... I'm not seeing Russel ack on the arch/arm patch. Russel, could you > please review the enclosed patch? Would this be ok for 2.6.31? I'm not sure who this Russel is! > @@ -207,6 +220,40 @@ static struct at24_platform_data eeprom_info = { > .context = (void *)0x7f00, > }; > > +static struct i2c_client *cpld_client; > + > +static int cpld_video_probe(struct i2c_client *client, > + const struct i2c_device_id *id) > +{ > + cpld_client = client; > + return 0; > +} > + > +static int __devexit cpld_video_remove(struct i2c_client *client) > +{ > + cpld_client = NULL; > + return 0; > +} ... > +static int set_vpif_clock(int mux_mode, int hd) > +{ > + int val = 0; > + int err = 0; > + unsigned int value; > + void __iomem *base = IO_ADDRESS(DAVINCI_SYSTEM_MODULE_BASE); > + > + /* disable the clock */ > + value = __raw_readl(base + VSCLKDIS_OFFSET); > + value |= (VIDCH3CLK | VIDCH2CLK); > + __raw_writel(value, base + VSCLKDIS_OFFSET); > + > + val = i2c_smbus_read_byte(cpld_client); > + if (val < 0) > + return val; > + > + if (mux_mode == 1) > + val &= ~0x40; > + else > + val |= 0x40; > + > + err = i2c_smbus_write_byte(cpld_client, val); > + if (err) > + return err; So what prevents this 'cpld_client' being removed mid-operation? What if 'cpld_client' isn't found for whatever reason? > +static struct platform_device vpif_display_dev = { > + .name = "vpif_display", > + .id = -1, > + .dev = { > + .dma_mask = &vpif_dma_mask, > + .coherent_dma_mask = DMA_32BIT_MASK, Shouldn't this be DMA_BIT_MASK(32) ? -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html