On Mon, Feb 23, 2009 at 6:00 AM, Daniel Mack <daniel@xxxxxxxx> wrote: > Hi, > > what's the suggested way of implementing an i2c drver which does not > have any other interfaces to the outside world than just the i2c device > it is communicating with? More specifically, I implemented a driver for a > Maxim clock generator and would like to use a proprietary interface with > it from a alsa-soc module. I just can't find a sane way to access the > driver's instance from there. It does exist somewhere in the linux > device tree, but is there a simple function that iterates over it and > returns it to me by name? Reading include/linux/device.h didn't point me > to anything that could fit. The max9485? Which codec are you using it with? I tried submitting the attached driver for the chip but Jean said it was too simple of a driver. I use it like this: static int dspeak01_fabric_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params) { uint rate, select; int ret; struct snd_soc_pcm_runtime *rtd = substream->private_data; struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai; printk("dspeak01_fabric_hw_params\n"); switch (params_rate(params)) { case 11025: case 22050: case 44100: case 88200: case 176400: rate = 22579200; select = MAX9485_225792; break; default: rate = 24576000; select = MAX9485_245760; break; } max9485_set(fabric.clock, select | MAX9485_CLK_OUT_2); ret = cpu_dai->ops.set_sysclk(cpu_dai, MPC52xx_CLK_CELLSLAVE, rate, SND_SOC_CLOCK_OUT); if (ret < 0) return ret; return 0; } > > Excuse me this is a stupid question, but I can't find any useful > information about that anywhere. > > Thanks, > Daniel > > -- > To unsubscribe from this list: send the line "unsubscribe linux-i2c" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- Jon Smirl jonsmirl@xxxxxxxxx
Attachment:
max9485
Description: Binary data