On Wed, Sep 29, 2010 at 11:43:24AM +0200, lin_g wrote:
I'm writing the driver for wm8804 s/pdif transceiver. However, my
Note that Dimitrios just posted a driver for this to the list earlier today, which is also available from opensource.wolfsonmicro.com. It would be best to work with this driver.
problem is that I would like to refresh my register cache inside the driver by periodically reading the values stored in device's registers. There is an interrupt handler fsi_interrupt() (in fsi.c) called when codec receives some data, but I suppose I need to find something closer to the 'codec layer'. Or maybe I'm just thinking wrongly and there is much simpler way of doing this. Appreciate any advice.
The bigger question would be why you want to refresh the register cache - normally this should not be required. If you do need to do this it would be better to trigger the refresh off whatever event causes the register status in the CODEC to get out of sync. If there are registers which report status which does change dynamically normally they shouldn't be cached at all but should instead be treated as volatile and read back from the CODEC at all times.