|
@@ -112,7 +112,6 @@ static void ddb_set_dma_tables(struct ddb *dev)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/****************************************************************************/
|
|
|
/****************************************************************************/
|
|
|
/****************************************************************************/
|
|
@@ -210,8 +209,9 @@ static int ddb_redirect(u32 i, u32 p)
|
|
|
if (input->redi) {
|
|
|
input2->redi = input->redi;
|
|
|
input->redi = NULL;
|
|
|
- } else
|
|
|
+ } else {
|
|
|
input2->redi = input;
|
|
|
+ }
|
|
|
}
|
|
|
input->redo = port->output;
|
|
|
port->output->redi = input;
|
|
@@ -357,9 +357,9 @@ static void calc_con(struct ddb_output *output, u32 *con, u32 *con2, u32 flags)
|
|
|
max_bitrate = 0;
|
|
|
gap = 0;
|
|
|
if (bitrate != 72000) {
|
|
|
- if (bitrate >= 96000)
|
|
|
+ if (bitrate >= 96000) {
|
|
|
*con |= 0x800;
|
|
|
- else {
|
|
|
+ } else {
|
|
|
*con |= 0x1000;
|
|
|
nco = (bitrate * 8192 + 71999)
|
|
|
/ 72000;
|
|
@@ -506,7 +506,6 @@ static void ddb_input_start(struct ddb_input *input)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
static void ddb_input_start_all(struct ddb_input *input)
|
|
|
{
|
|
|
struct ddb_input *i = input;
|
|
@@ -572,7 +571,7 @@ static ssize_t ddb_output_write(struct ddb_output *output,
|
|
|
while (left) {
|
|
|
len = output->dma->size - output->dma->coff;
|
|
|
if ((((output->dma->cbuf + 1) % output->dma->num) == idx) &&
|
|
|
- (off == 0)) {
|
|
|
+ off == 0) {
|
|
|
if (len <= 188)
|
|
|
break;
|
|
|
len -= 188;
|
|
@@ -593,7 +592,8 @@ static ssize_t ddb_output_write(struct ddb_output *output,
|
|
|
buf, len))
|
|
|
return -EIO;
|
|
|
if (alt_dma)
|
|
|
- dma_sync_single_for_device(dev->dev,
|
|
|
+ dma_sync_single_for_device(
|
|
|
+ dev->dev,
|
|
|
output->dma->pbuf[output->dma->cbuf],
|
|
|
output->dma->size, DMA_TO_DEVICE);
|
|
|
left -= len;
|
|
@@ -632,7 +632,7 @@ static u32 ddb_input_avail(struct ddb_input *input)
|
|
|
}
|
|
|
|
|
|
static ssize_t ddb_input_read(struct ddb_input *input,
|
|
|
- __user u8 *buf, size_t count)
|
|
|
+ __user u8 *buf, size_t count)
|
|
|
{
|
|
|
struct ddb *dev = input->port->dev;
|
|
|
u32 left = count;
|
|
@@ -648,7 +648,8 @@ static ssize_t ddb_input_read(struct ddb_input *input,
|
|
|
if (free > left)
|
|
|
free = left;
|
|
|
if (alt_dma)
|
|
|
- dma_sync_single_for_cpu(dev->dev,
|
|
|
+ dma_sync_single_for_cpu(
|
|
|
+ dev->dev,
|
|
|
input->dma->pbuf[input->dma->cbuf],
|
|
|
input->dma->size, DMA_FROM_DEVICE);
|
|
|
ret = copy_to_user(buf, input->dma->vbuf[input->dma->cbuf] +
|
|
@@ -792,8 +793,10 @@ static int ts_open(struct inode *inode, struct file *file)
|
|
|
} else if ((file->f_flags & O_ACCMODE) == O_WRONLY) {
|
|
|
if (!output)
|
|
|
return -EINVAL;
|
|
|
- } else
|
|
|
+ } else {
|
|
|
return -EINVAL;
|
|
|
+ }
|
|
|
+
|
|
|
err = dvb_generic_open(inode, file);
|
|
|
if (err < 0)
|
|
|
return err;
|
|
@@ -822,7 +825,6 @@ static struct dvb_device dvbdev_ci = {
|
|
|
.fops = &ci_fops,
|
|
|
};
|
|
|
|
|
|
-
|
|
|
/****************************************************************************/
|
|
|
/****************************************************************************/
|
|
|
|
|
@@ -914,7 +916,7 @@ static int demod_attach_stv0367(struct ddb_input *input)
|
|
|
|
|
|
/* attach frontend */
|
|
|
dvb->fe = dvb_attach(stv0367ddb_attach,
|
|
|
- &ddb_stv0367_config[(input->nr & 1)], i2c);
|
|
|
+ &ddb_stv0367_config[(input->nr & 1)], i2c);
|
|
|
|
|
|
if (!dvb->fe) {
|
|
|
dev_err(dev, "No stv0367 found!\n");
|
|
@@ -1017,7 +1019,7 @@ static int tuner_attach_tda18212(struct ddb_input *input, u32 porttype)
|
|
|
|
|
|
/* perform tuner init/attach */
|
|
|
client = i2c_new_device(adapter, &board_info);
|
|
|
- if (client == NULL || client->dev.driver == NULL)
|
|
|
+ if (!client || !client->dev.driver)
|
|
|
goto err;
|
|
|
|
|
|
if (!try_module_get(client->dev.driver->owner)) {
|
|
@@ -1132,7 +1134,7 @@ static int tuner_attach_stv6110(struct ddb_input *input, int type)
|
|
|
return -ENODEV;
|
|
|
}
|
|
|
dev_info(dev, "attach tuner input %d adr %02x\n",
|
|
|
- input->nr, tunerconf->addr);
|
|
|
+ input->nr, tunerconf->addr);
|
|
|
|
|
|
feconf->tuner_init = ctl->tuner_init;
|
|
|
feconf->tuner_sleep = ctl->tuner_sleep;
|
|
@@ -1262,7 +1264,8 @@ static void dvb_input_detach(struct ddb_input *input)
|
|
|
dvb_frontend_detach(dvb->fe2);
|
|
|
if (dvb->fe)
|
|
|
dvb_frontend_detach(dvb->fe);
|
|
|
- dvb->fe = dvb->fe2 = NULL;
|
|
|
+ dvb->fe = NULL;
|
|
|
+ dvb->fe2 = NULL;
|
|
|
/* fallthrough */
|
|
|
case 0x20:
|
|
|
client = dvb->i2c_client[0];
|
|
@@ -1406,7 +1409,8 @@ static int dvb_input_attach(struct ddb_input *input)
|
|
|
DMX_SECTION_FILTERING | DMX_MEMORY_BASED_FILTERING;
|
|
|
dvbdemux->start_feed = start_feed;
|
|
|
dvbdemux->stop_feed = stop_feed;
|
|
|
- dvbdemux->filternum = dvbdemux->feednum = 256;
|
|
|
+ dvbdemux->filternum = 256;
|
|
|
+ dvbdemux->feednum = 256;
|
|
|
ret = dvb_dmx_init(dvbdemux);
|
|
|
if (ret < 0)
|
|
|
return ret;
|
|
@@ -1433,7 +1437,8 @@ static int dvb_input_attach(struct ddb_input *input)
|
|
|
return ret;
|
|
|
dvb->attached = 0x20;
|
|
|
|
|
|
- dvb->fe = dvb->fe2 = NULL;
|
|
|
+ dvb->fe = NULL;
|
|
|
+ dvb->fe2 = NULL;
|
|
|
switch (port->type) {
|
|
|
case DDB_TUNER_MXL5XX:
|
|
|
if (fe_attach_mxl5xx(input) < 0)
|
|
@@ -1700,11 +1705,11 @@ static int init_xo2_ci(struct ddb_port *port)
|
|
|
|
|
|
if (data[0] > 1) {
|
|
|
dev_info(dev->dev, "Port %d: invalid XO2 CI %02x\n",
|
|
|
- port->nr, data[0]);
|
|
|
+ port->nr, data[0]);
|
|
|
return -1;
|
|
|
}
|
|
|
dev_info(dev->dev, "Port %d: DuoFlex CI %u.%u\n",
|
|
|
- port->nr, data[0], data[1]);
|
|
|
+ port->nr, data[0], data[1]);
|
|
|
|
|
|
i2c_read_reg(i2c, 0x10, 0x08, &val);
|
|
|
if (val != 0) {
|
|
@@ -1715,7 +1720,6 @@ static int init_xo2_ci(struct ddb_port *port)
|
|
|
i2c_write_reg(i2c, 0x10, 0x08, 3);
|
|
|
usleep_range(2000, 3000);
|
|
|
|
|
|
-
|
|
|
/* speed: 0=55,1=75,2=90,3=104 MBit/s */
|
|
|
i2c_write_reg(i2c, 0x10, 0x09, 1);
|
|
|
|
|
@@ -1818,7 +1822,7 @@ static void ddb_port_probe(struct ddb_port *port)
|
|
|
port->i2c->regs + I2C_TIMING);
|
|
|
} else {
|
|
|
dev_info(dev->dev, "Port %d: Uninitialized DuoFlex\n",
|
|
|
- port->nr);
|
|
|
+ port->nr);
|
|
|
return;
|
|
|
}
|
|
|
} else if (port_has_xo2(port, &type, &id)) {
|
|
@@ -1909,7 +1913,6 @@ static void ddb_port_probe(struct ddb_port *port)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/****************************************************************************/
|
|
|
/****************************************************************************/
|
|
|
/****************************************************************************/
|
|
@@ -1999,7 +2002,7 @@ static int slot_reset(struct dvb_ca_en50221 *ca, int slot)
|
|
|
CI_CONTROL(ci->nr));
|
|
|
ddbwritel(ci->port->dev, CI_ENABLE | CI_POWER_ON | CI_RESET_CAM,
|
|
|
CI_CONTROL(ci->nr));
|
|
|
- udelay(20);
|
|
|
+ usleep_range(20, 25);
|
|
|
ddbwritel(ci->port->dev, CI_ENABLE | CI_POWER_ON,
|
|
|
CI_CONTROL(ci->nr));
|
|
|
return 0;
|
|
@@ -2264,7 +2267,7 @@ static int ddb_port_attach(struct ddb_port *port)
|
|
|
case DDB_PORT_LOOP:
|
|
|
ret = dvb_register_device(port->dvb[0].adap,
|
|
|
&port->dvb[0].dev,
|
|
|
- &dvbdev_ci, (void *) port->output,
|
|
|
+ &dvbdev_ci, (void *)port->output,
|
|
|
DVB_DEVICE_SEC, 0);
|
|
|
break;
|
|
|
default:
|
|
@@ -2323,7 +2326,6 @@ void ddb_ports_detach(struct ddb *dev)
|
|
|
dvb_unregister_adapters(dev);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/* Copy input DMA pointers to output DMA and ACK. */
|
|
|
|
|
|
static void input_write_output(struct ddb_input *input,
|
|
@@ -2350,16 +2352,18 @@ static void input_write_dvb(struct ddb_input *input,
|
|
|
struct ddb *dev = input->port->dev;
|
|
|
int ack = 1;
|
|
|
|
|
|
- dma = dma2 = input->dma;
|
|
|
- /* if there also is an output connected, do not ACK.
|
|
|
+ dma = input->dma;
|
|
|
+ dma2 = input->dma;
|
|
|
+ /*
|
|
|
+ * if there also is an output connected, do not ACK.
|
|
|
* input_write_output will ACK.
|
|
|
*/
|
|
|
if (input->redo) {
|
|
|
dma2 = input->redo->dma;
|
|
|
ack = 0;
|
|
|
}
|
|
|
- while (dma->cbuf != ((dma->stat >> 11) & 0x1f)
|
|
|
- || (4 & dma->ctrl)) {
|
|
|
+ while (dma->cbuf != ((dma->stat >> 11) & 0x1f) ||
|
|
|
+ (4 & dma->ctrl)) {
|
|
|
if (4 & dma->ctrl) {
|
|
|
/* dev_err(dev->dev, "Overflow dma %d\n", dma->nr); */
|
|
|
ack = 1;
|
|
@@ -2382,7 +2386,7 @@ static void input_write_dvb(struct ddb_input *input,
|
|
|
static void input_work(struct work_struct *work)
|
|
|
{
|
|
|
struct ddb_dma *dma = container_of(work, struct ddb_dma, work);
|
|
|
- struct ddb_input *input = (struct ddb_input *) dma->io;
|
|
|
+ struct ddb_input *input = (struct ddb_input *)dma->io;
|
|
|
struct ddb *dev = input->port->dev;
|
|
|
unsigned long flags;
|
|
|
|
|
@@ -2404,11 +2408,11 @@ static void input_work(struct work_struct *work)
|
|
|
|
|
|
static void input_handler(unsigned long data)
|
|
|
{
|
|
|
- struct ddb_input *input = (struct ddb_input *) data;
|
|
|
+ struct ddb_input *input = (struct ddb_input *)data;
|
|
|
struct ddb_dma *dma = input->dma;
|
|
|
|
|
|
-
|
|
|
- /* If there is no input connected, input_tasklet() will
|
|
|
+ /*
|
|
|
+ * If there is no input connected, input_tasklet() will
|
|
|
* just copy pointers and ACK. So, there is no need to go
|
|
|
* through the tasklet scheduler.
|
|
|
*/
|
|
@@ -2420,7 +2424,7 @@ static void input_handler(unsigned long data)
|
|
|
|
|
|
static void output_handler(unsigned long data)
|
|
|
{
|
|
|
- struct ddb_output *output = (struct ddb_output *) data;
|
|
|
+ struct ddb_output *output = (struct ddb_output *)data;
|
|
|
struct ddb_dma *dma = output->dma;
|
|
|
struct ddb *dev = output->port->dev;
|
|
|
|
|
@@ -2509,10 +2513,10 @@ static void ddb_input_init(struct ddb_port *port, int nr, int pnr, int anr)
|
|
|
dma_nr += 32 + (port->lnr - 1) * 8;
|
|
|
|
|
|
dev_dbg(dev->dev, "init link %u, input %u, handler %u\n",
|
|
|
- port->lnr, nr, dma_nr + base);
|
|
|
+ port->lnr, nr, dma_nr + base);
|
|
|
|
|
|
dev->handler[0][dma_nr + base] = input_handler;
|
|
|
- dev->handler_data[0][dma_nr + base] = (unsigned long) input;
|
|
|
+ dev->handler_data[0][dma_nr + base] = (unsigned long)input;
|
|
|
ddb_dma_init(input, dma_nr, 0);
|
|
|
}
|
|
|
}
|
|
@@ -2531,14 +2535,14 @@ static void ddb_output_init(struct ddb_port *port, int nr)
|
|
|
(rm->output->base + rm->output->size * nr);
|
|
|
|
|
|
dev_dbg(dev->dev, "init link %u, output %u, regs %08x\n",
|
|
|
- port->lnr, nr, output->regs);
|
|
|
+ port->lnr, nr, output->regs);
|
|
|
|
|
|
if (dev->has_dma) {
|
|
|
const struct ddb_regmap *rm0 = io_regmap(output, 0);
|
|
|
u32 base = rm0->irq_base_odma;
|
|
|
|
|
|
dev->handler[0][nr + base] = output_handler;
|
|
|
- dev->handler_data[0][nr + base] = (unsigned long) output;
|
|
|
+ dev->handler_data[0][nr + base] = (unsigned long)output;
|
|
|
ddb_dma_init(output, nr, 1);
|
|
|
}
|
|
|
}
|
|
@@ -2606,7 +2610,7 @@ void ddb_ports_init(struct ddb *dev)
|
|
|
port->dvb[0].adap = &dev->adap[2 * p];
|
|
|
port->dvb[1].adap = &dev->adap[2 * p + 1];
|
|
|
|
|
|
- if ((port->class == DDB_PORT_NONE) && i && p &&
|
|
|
+ if (port->class == DDB_PORT_NONE && i && p &&
|
|
|
dev->port[p - 1].type == DDB_CI_EXTERNAL_XO2) {
|
|
|
port->class = DDB_PORT_CI;
|
|
|
port->type = DDB_CI_EXTERNAL_XO2_B;
|
|
@@ -2615,8 +2619,8 @@ void ddb_ports_init(struct ddb *dev)
|
|
|
}
|
|
|
|
|
|
dev_info(dev->dev, "Port %u: Link %u, Link Port %u (TAB %u): %s\n",
|
|
|
- port->pnr, port->lnr, port->nr, port->nr + 1,
|
|
|
- port->name);
|
|
|
+ port->pnr, port->lnr, port->nr, port->nr + 1,
|
|
|
+ port->name);
|
|
|
|
|
|
if (port->class == DDB_PORT_CI &&
|
|
|
port->type == DDB_CI_EXTERNAL_XO2) {
|
|
@@ -2738,7 +2742,7 @@ static void irq_handle_io(struct ddb *dev, u32 s)
|
|
|
|
|
|
irqreturn_t ddb_irq_handler0(int irq, void *dev_id)
|
|
|
{
|
|
|
- struct ddb *dev = (struct ddb *) dev_id;
|
|
|
+ struct ddb *dev = (struct ddb *)dev_id;
|
|
|
u32 s = ddbreadl(dev, INTERRUPT_STATUS);
|
|
|
|
|
|
do {
|
|
@@ -2755,7 +2759,7 @@ irqreturn_t ddb_irq_handler0(int irq, void *dev_id)
|
|
|
|
|
|
irqreturn_t ddb_irq_handler1(int irq, void *dev_id)
|
|
|
{
|
|
|
- struct ddb *dev = (struct ddb *) dev_id;
|
|
|
+ struct ddb *dev = (struct ddb *)dev_id;
|
|
|
u32 s = ddbreadl(dev, INTERRUPT_STATUS);
|
|
|
|
|
|
do {
|
|
@@ -2772,7 +2776,7 @@ irqreturn_t ddb_irq_handler1(int irq, void *dev_id)
|
|
|
|
|
|
irqreturn_t ddb_irq_handler(int irq, void *dev_id)
|
|
|
{
|
|
|
- struct ddb *dev = (struct ddb *) dev_id;
|
|
|
+ struct ddb *dev = (struct ddb *)dev_id;
|
|
|
u32 s = ddbreadl(dev, INTERRUPT_STATUS);
|
|
|
int ret = IRQ_HANDLED;
|
|
|
|
|
@@ -2809,7 +2813,7 @@ static int reg_wait(struct ddb *dev, u32 reg, u32 bit)
|
|
|
}
|
|
|
|
|
|
static int flashio(struct ddb *dev, u32 lnr, u8 *wbuf, u32 wlen, u8 *rbuf,
|
|
|
- u32 rlen)
|
|
|
+ u32 rlen)
|
|
|
{
|
|
|
u32 data, shift;
|
|
|
u32 tag = DDB_LINK_TAG(lnr);
|
|
@@ -2820,7 +2824,7 @@ static int flashio(struct ddb *dev, u32 lnr, u8 *wbuf, u32 wlen, u8 *rbuf,
|
|
|
ddbwritel(dev, 1, tag | SPI_CONTROL);
|
|
|
while (wlen > 4) {
|
|
|
/* FIXME: check for big-endian */
|
|
|
- data = swab32(*(u32 *) wbuf);
|
|
|
+ data = swab32(*(u32 *)wbuf);
|
|
|
wbuf += 4;
|
|
|
wlen -= 4;
|
|
|
ddbwritel(dev, data, tag | SPI_DATA);
|
|
@@ -2860,12 +2864,12 @@ static int flashio(struct ddb *dev, u32 lnr, u8 *wbuf, u32 wlen, u8 *rbuf,
|
|
|
if (reg_wait(dev, tag | SPI_CONTROL, 4))
|
|
|
goto fail;
|
|
|
data = ddbreadl(dev, tag | SPI_DATA);
|
|
|
- *(u32 *) rbuf = swab32(data);
|
|
|
+ *(u32 *)rbuf = swab32(data);
|
|
|
rbuf += 4;
|
|
|
rlen -= 4;
|
|
|
}
|
|
|
ddbwritel(dev, 0x0003 | ((rlen << (8 + 3)) & 0x1F00),
|
|
|
- tag | SPI_CONTROL);
|
|
|
+ tag | SPI_CONTROL);
|
|
|
ddbwritel(dev, 0xffffffff, tag | SPI_DATA);
|
|
|
if (reg_wait(dev, tag | SPI_CONTROL, 4))
|
|
|
goto fail;
|
|
@@ -3008,7 +3012,7 @@ static ssize_t fan_store(struct device *device, struct device_attribute *d,
|
|
|
}
|
|
|
|
|
|
static ssize_t fanspeed_show(struct device *device,
|
|
|
- struct device_attribute *attr, char *buf)
|
|
|
+ struct device_attribute *attr, char *buf)
|
|
|
{
|
|
|
struct ddb *dev = dev_get_drvdata(device);
|
|
|
int num = attr->attr.name[8] - 0x30;
|
|
@@ -3046,7 +3050,7 @@ static ssize_t temp_show(struct device *device,
|
|
|
}
|
|
|
|
|
|
static ssize_t ctemp_show(struct device *device,
|
|
|
- struct device_attribute *attr, char *buf)
|
|
|
+ struct device_attribute *attr, char *buf)
|
|
|
{
|
|
|
struct ddb *dev = dev_get_drvdata(device);
|
|
|
struct i2c_adapter *adap;
|
|
@@ -3073,7 +3077,6 @@ static ssize_t led_show(struct device *device,
|
|
|
return sprintf(buf, "%d\n", dev->leds & (1 << num) ? 1 : 0);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
static void ddb_set_led(struct ddb *dev, int num, int val)
|
|
|
{
|
|
|
if (!dev->link[0].info->led_num)
|
|
@@ -3160,7 +3163,7 @@ static ssize_t bsnr_show(struct device *device,
|
|
|
}
|
|
|
|
|
|
static ssize_t bpsnr_show(struct device *device,
|
|
|
- struct device_attribute *attr, char *buf)
|
|
|
+ struct device_attribute *attr, char *buf)
|
|
|
{
|
|
|
struct ddb *dev = dev_get_drvdata(device);
|
|
|
unsigned char snr[32];
|
|
@@ -3205,7 +3208,6 @@ static ssize_t gap_show(struct device *device,
|
|
|
int num = attr->attr.name[3] - 0x30;
|
|
|
|
|
|
return sprintf(buf, "%d\n", dev->port[num].gap);
|
|
|
-
|
|
|
}
|
|
|
|
|
|
static ssize_t gap_store(struct device *device, struct device_attribute *attr,
|
|
@@ -3251,7 +3253,7 @@ static ssize_t regmap_show(struct device *device,
|
|
|
}
|
|
|
|
|
|
static ssize_t fmode_show(struct device *device,
|
|
|
- struct device_attribute *attr, char *buf)
|
|
|
+ struct device_attribute *attr, char *buf)
|
|
|
{
|
|
|
int num = attr->attr.name[5] - 0x30;
|
|
|
struct ddb *dev = dev_get_drvdata(device);
|
|
@@ -3269,7 +3271,7 @@ static ssize_t devid_show(struct device *device,
|
|
|
}
|
|
|
|
|
|
static ssize_t fmode_store(struct device *device, struct device_attribute *attr,
|
|
|
- const char *buf, size_t count)
|
|
|
+ const char *buf, size_t count)
|
|
|
{
|
|
|
struct ddb *dev = dev_get_drvdata(device);
|
|
|
int num = attr->attr.name[5] - 0x30;
|
|
@@ -3384,7 +3386,7 @@ static void ddb_device_attrs_del(struct ddb *dev)
|
|
|
device_remove_file(dev->ddb_dev, &ddb_attrs_snr[i]);
|
|
|
device_remove_file(dev->ddb_dev, &ddb_attrs_ctemp[i]);
|
|
|
}
|
|
|
- for (i = 0; ddb_attrs[i].attr.name != NULL; i++)
|
|
|
+ for (i = 0; ddb_attrs[i].attr.name; i++)
|
|
|
device_remove_file(dev->ddb_dev, &ddb_attrs[i]);
|
|
|
}
|
|
|
|
|
@@ -3392,7 +3394,7 @@ static int ddb_device_attrs_add(struct ddb *dev)
|
|
|
{
|
|
|
int i;
|
|
|
|
|
|
- for (i = 0; ddb_attrs[i].attr.name != NULL; i++)
|
|
|
+ for (i = 0; ddb_attrs[i].attr.name; i++)
|
|
|
if (device_create_file(dev->ddb_dev, &ddb_attrs[i]))
|
|
|
goto fail;
|
|
|
for (i = 0; i < dev->link[0].info->temp_num; i++)
|
|
@@ -3444,8 +3446,9 @@ int ddb_device_create(struct ddb *dev)
|
|
|
device_destroy(&ddb_class, MKDEV(ddb_major, dev->nr));
|
|
|
ddbs[dev->nr] = NULL;
|
|
|
dev->ddb_dev = ERR_PTR(-ENODEV);
|
|
|
- } else
|
|
|
+ } else {
|
|
|
ddb_num++;
|
|
|
+ }
|
|
|
fail:
|
|
|
mutex_unlock(&ddb_mutex);
|
|
|
return res;
|
|
@@ -3497,7 +3500,7 @@ static void tempmon_setfan(struct ddb_link *link)
|
|
|
|
|
|
static void temp_handler(unsigned long data)
|
|
|
{
|
|
|
- struct ddb_link *link = (struct ddb_link *) data;
|
|
|
+ struct ddb_link *link = (struct ddb_link *)data;
|
|
|
|
|
|
spin_lock(&link->temp_lock);
|
|
|
tempmon_setfan(link);
|
|
@@ -3516,10 +3519,10 @@ static int tempmon_init(struct ddb_link *link, int first_time)
|
|
|
30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80 };
|
|
|
|
|
|
memcpy(link->temp_tab, temperature_table,
|
|
|
- sizeof(temperature_table));
|
|
|
+ sizeof(temperature_table));
|
|
|
}
|
|
|
dev->handler[l][link->info->tempmon_irq] = temp_handler;
|
|
|
- dev->handler_data[l][link->info->tempmon_irq] = (unsigned long) link;
|
|
|
+ dev->handler_data[l][link->info->tempmon_irq] = (unsigned long)link;
|
|
|
ddblwritel(link, (TEMPMON_CONTROL_OVERTEMP | TEMPMON_CONTROL_AUTOSCAN |
|
|
|
TEMPMON_CONTROL_INTENABLE),
|
|
|
TEMPMON_CONTROL);
|
|
@@ -3571,11 +3574,11 @@ static int ddb_init_boards(struct ddb *dev)
|
|
|
ddbwritel(dev, 0, DDB_LINK_TAG(l) | BOARD_CONTROL);
|
|
|
msleep(100);
|
|
|
ddbwritel(dev, info->board_control_2,
|
|
|
- DDB_LINK_TAG(l) | BOARD_CONTROL);
|
|
|
+ DDB_LINK_TAG(l) | BOARD_CONTROL);
|
|
|
usleep_range(2000, 3000);
|
|
|
ddbwritel(dev,
|
|
|
- info->board_control_2 | info->board_control,
|
|
|
- DDB_LINK_TAG(l) | BOARD_CONTROL);
|
|
|
+ info->board_control_2 | info->board_control,
|
|
|
+ DDB_LINK_TAG(l) | BOARD_CONTROL);
|
|
|
usleep_range(2000, 3000);
|
|
|
}
|
|
|
ddb_init_tempmon(link);
|