Lines Matching refs:isl6405

3  * isl6405.c - driver for dual lnb supply and control ic ISL6405
19 #include "isl6405.h"
21 struct isl6405 {
32 struct isl6405 *isl6405 = (struct isl6405 *) fe->sec_priv;
33 struct i2c_msg msg = { .addr = isl6405->i2c_addr, .flags = 0,
34 .buf = &isl6405->config,
35 .len = sizeof(isl6405->config) };
37 if (isl6405->override_or & 0x80) {
38 isl6405->config &= ~(ISL6405_VSEL2 | ISL6405_EN2);
43 isl6405->config |= ISL6405_EN2;
46 isl6405->config |= (ISL6405_EN2 | ISL6405_VSEL2);
52 isl6405->config &= ~(ISL6405_VSEL1 | ISL6405_EN1);
57 isl6405->config |= ISL6405_EN1;
60 isl6405->config |= (ISL6405_EN1 | ISL6405_VSEL1);
66 isl6405->config |= isl6405->override_or;
67 isl6405->config &= isl6405->override_and;
69 return (i2c_transfer(isl6405->i2c, &msg, 1) == 1) ? 0 : -EIO;
74 struct isl6405 *isl6405 = (struct isl6405 *) fe->sec_priv;
75 struct i2c_msg msg = { .addr = isl6405->i2c_addr, .flags = 0,
76 .buf = &isl6405->config,
77 .len = sizeof(isl6405->config) };
79 if (isl6405->override_or & 0x80) {
81 isl6405->config |= ISL6405_LLC2;
83 isl6405->config &= ~ISL6405_LLC2;
86 isl6405->config |= ISL6405_LLC1;
88 isl6405->config &= ~ISL6405_LLC1;
90 isl6405->config |= isl6405->override_or;
91 isl6405->config &= isl6405->override_and;
93 return (i2c_transfer(isl6405->i2c, &msg, 1) == 1) ? 0 : -EIO;
109 struct isl6405 *isl6405 = kmalloc(sizeof(struct isl6405), GFP_KERNEL);
110 if (!isl6405)
115 isl6405->config = ISL6405_ISEL2;
117 isl6405->config = ISL6405_ISEL1;
118 isl6405->i2c = i2c;
119 isl6405->i2c_addr = i2c_addr;
120 fe->sec_priv = isl6405;
123 isl6405->override_or = override_set;
126 isl6405->override_and = ~override_clear;
130 kfree(isl6405);
146 MODULE_DESCRIPTION("Driver for lnb supply and control ic isl6405");