gpiomux
struct gpiomux *mux;
static void i2c_mux_gpio_set(const struct gpiomux *mux, unsigned int val)
struct gpiomux *mux = i2c_mux_priv(muxc);
struct gpiomux *mux = i2c_mux_priv(muxc);
static int i2c_mux_gpio_probe_fw(struct gpiomux *mux,
.gpiomux = { 0xbc803f, 0xbc903f, 0xbcb03f, 0 },
.gpiomux = { 0x20000, 0x30000, 0x10000, 0 },
.gpiomux = {2,0,0,0 },
.gpiomux = {0x10000, 0, 0x10000, 0 },
.gpiomux = { 0x20000, 0, 0x80000, 0x80000 },
.gpiomux = { 0, 1, 2, 3 },
.gpiomux = { 1, 0xd0001, 0, 0 },
.gpiomux = { 0, 0, 0x10, 8 },
.gpiomux = { 0x0000,0x0800,0x1000,0x1000 },
.gpiomux = { 2, 0, 0, 0 },
.gpiomux = { 0, 0x800, 0x1000, 0x1000 },
.gpiomux = { 0 },
.gpiomux = { 0x400, 0x400, 0x400, 0x400 },
.gpiomux = { 2, 0, 0, 0 },
.gpiomux = { 2, 0, 0, 1 },
.gpiomux = { },
.gpiomux = { 1, 0, 4, 4 },
.gpiomux = { 0xbffe, 0, 0xbfff, 0 },
.gpiomux = { 0, 0, 1, 0 },
.gpiomux = { 0x0000,0x0800,0x1000,0x1000 },
.gpiomux = { 0x500, 0x500, 0x300, 0x900 },
.gpiomux = {0x10000, 0, 0x10000, 0 },
.gpiomux = {0x947fff, 0x987fff,0x947fff,0x947fff },
.gpiomux = {0x947fff, 0x987fff,0x947fff,0x947fff },
.gpiomux = { 0, 0, 11, 7 }, /* TV and Radio with same GPIO ! */
.gpiomux = { 0x01, 0x00, 0x03, 0x03 },
.gpiomux = { 0 },
.gpiomux = { 0, 1, 2, 2 },
.gpiomux = { 0, 1, 2, 3 },
.gpiomux = { 0 },
.gpiomux = { 0, 0, 4, 4 },/* Yes, this tuner uses the same audio output for TV and FM radio!
.gpiomux = {7},
.gpiomux = {0x030000, 0x010000, 0, 0 },
.gpiomux = { 2, 2, 0, 0 },
.gpiomux = { 0, 1, 2, 3},
.gpiomux = { 0 },
.gpiomux = { 0x08, 0x0f, 0x0a, 0x08 },
.gpiomux = { 0 },
.gpiomux = { 0, 0, 0, 0 }, /* card has no audio */
.gpiomux = { 0, 0, 0, 0 }, /* card has no audio */
.gpiomux = { 0, 0, 0, 0 }, /* card has no audio */
.gpiomux = { 0, 0, 0, 0 }, /* card has no audio */
.gpiomux = { 1, 1, 1, 1 },
.gpiomux = { 0, 0, 0, 0 },
.gpiomux = { 0x68, 0x68, 0x61, 0x61 },
.gpiomux = { 0, 1, 2, 2 },
.gpiomux = { 0, 0, 0, 0 }, /* card has no audio */
.gpiomux = { 0x02, 0x00, 0x00, 0x00 },
.gpiomux = { 0 },
.gpiomux = { 0 },
.gpiomux = { 2, 0, 0, 0 },
.gpiomux = {0x31, 0x31, 0x31, 0x31 },
.gpiomux = { 0, 0x000001,0,0 },
.gpiomux = { 0x00400005, 0, 0x00000001, 0 },
.gpiomux = { 0x001e00, 0, 0x018000, 0x014000 },
.gpiomux = { 0, 1, 2, 2 },
.gpiomux = { 0x00400, 0x10400, 0x04400, 0x80000 },
.gpiomux = { 0x21, 0x20, 0x24, 0x2c },
.gpiomux = { 0, 0, 0x000, 0x100},
.gpiomux = { 2, 0, 0, 0 },
.gpiomux = { 100000, 100002, 100002, 100000 },
.gpiomux = { 0, 1, 2, 3 },
.gpiomux = { 0x00400005, 0, 0x00000001, 0 },
.gpiomux = { 0x20001,0x10001, 0, 0 },
.gpiomux = { 0 },
.gpiomux = { 0, 1, 2, 2 }, /* CONTVFMi */
.gpiomux = { 0x60000, 0x60000, 0x20000, 0x20000 },
.gpiomux = { 0, 0, 0, 0 }, /* card has no audio */
.gpiomux = { 0, 0, 0, 0 }, /* card has no audio */
.gpiomux = { 0, 0, 0, 0 }, /* card has no audio */
.gpiomux = { 0 },
.gpiomux = { 0, 1, 2, 2 },
for (i = 0; i < ARRAY_SIZE(bttv_tvcards->gpiomux); i++) {
bttv_tvcards[btv->c.type].gpiomux[i] = audiomux[i];
for (i = 0; i < ARRAY_SIZE(bttv_tvcards->gpiomux); i++) {
bttv_tvcards[btv->c.type].gpiomux[i] = audioall;
for (i = 0; i < ARRAY_SIZE(bttv_tvcards->gpiomux); i++) {
i ? "," : "", bttv_tvcards[btv->c.type].gpiomux[i]);
.gpiomux = { 2, 0, 0, 0 },
.gpiomux = { 0, 1, 2, 3 },
.gpiomux = { 4, 0, 2, 3 },
.gpiomux = { 0 },
.gpiomux = { 0, 1, 0, 1 },
.gpiomux = { 0x0c, 0x04, 0x08, 0x04 },
.gpiomux = { 0 },
.gpiomux = { 0, 0xc00, 0x800, 0x400 },
.gpiomux = { 1, 1, 2, 3 },
.gpiomux = { 0, 1, 2, 3 },
.gpiomux = { 0x20001,0x10001, 0, 0 },
.gpiomux = { 13, 14, 11, 7 },
.gpiomux = { 13, 14, 11, 7 },
.gpiomux = { 0, 2, 1, 3 }, /* old: {0, 1, 2, 3, 4} */
.gpiomux = { 0, 0, 1, 0 },
.gpiomux = { 0x001e00, 0, 0x018000, 0x014000 },
.gpiomux = { 0x4fa007,0xcfa007,0xcfa007,0xcfa007 },
.gpiomux = { 1, 0, 0, 0 },
.gpiomux = { 0 },
.gpiomux = { 0, 0x800, 0x1000, 0x1000 },
.gpiomux = { 0, 1, 0x800, 0x400 },
.gpiomux = { 0, 0, 0, 0 },
.gpiomux = {0x400, 0x400, 0x400, 0x400 },
.gpiomux = { 0x20000, 0x30000, 0x10000, 0 },
.gpiomux = { 0, 1, 2, 3 },
.gpiomux = { 0, 0x800, 0x1000, 0x1000 },
.gpiomux = { 0x20000, 0x30000, 0x10000, 0x00000 },
.gpiomux = { 0 },
.gpiomux = { 0, 0x0800, 0x1000, 0x1000 },
.gpiomux = { 1, 0, 0, 0 },
.gpiomux = { 0 },
.gpiomux = { 0x500, 0, 0x300, 0x900 },
.gpiomux = { 0x122000,0x1000,0x0000,0x620000 },
.gpiomux = { 0, 0x800, 0x1000, 0x1000 },
.gpiomux = { 0, 0x800, 0x1000, 0x1000 },
.gpiomux = { 0x21, 0x20, 0x24, 0x2c },
.gpiomux = { 0x551400, 0x551200, 0, 0 },
.gpiomux = { 2, 0xd0001, 0, 0 },
.gpiomux = { 4, 0, 2, 3 },
.gpiomux = { 13, 4, 11, 7 },
.gpiomux = { 0, 0, 0, 0},
.gpiomux = { 0xff9ff6, 0xff9ff6, 0xff1ff7, 0 },
.gpiomux = { 1, 1, 0, 2 },
.gpiomux = { 0 },
gpio_val = bttv_tvcards[btv->c.type].gpiomux[input];
u32 gpiomux[4]; /* Tuner, Radio, external, internal */