forked from luck/tmp_suning_uos_patched
i2c-parport: Various cleanups
* Fix white space. * Rename labels to something meaningful. * Prefix defines with PORT_ to avoid collision with macros from <linux/parport.h>. * Add const markers where possible. Signed-off-by: Jean Delvare <khali@linux-fr.org>
This commit is contained in:
parent
8eacfcebf0
commit
07da0372dd
|
@ -2,13 +2,13 @@
|
|||
* i2c-parport-light.c I2C bus over parallel port *
|
||||
* ------------------------------------------------------------------------ *
|
||||
Copyright (C) 2003-2010 Jean Delvare <khali@linux-fr.org>
|
||||
|
||||
|
||||
Based on older i2c-velleman.c driver
|
||||
Copyright (C) 1995-2000 Simon G. Vogl
|
||||
With some changes from:
|
||||
Frodo Looijaard <frodol@dds.nl>
|
||||
Kyösti Mälkki <kmalkki@cc.hut.fi>
|
||||
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
|
@ -114,7 +114,7 @@ static struct i2c_algo_bit_data parport_algo_data = {
|
|||
.getscl = parport_getscl,
|
||||
.udelay = 50,
|
||||
.timeout = HZ,
|
||||
};
|
||||
};
|
||||
|
||||
/* ----- Driver registration ---------------------------------------------- */
|
||||
|
||||
|
@ -132,7 +132,7 @@ static struct i2c_smbus_alert_setup alert_data = {
|
|||
static struct i2c_client *ara;
|
||||
static struct lineop parport_ctrl_irq = {
|
||||
.val = (1 << 4),
|
||||
.port = CTRL,
|
||||
.port = PORT_CTRL,
|
||||
};
|
||||
|
||||
static int __devinit i2c_parport_probe(struct platform_device *pdev)
|
||||
|
@ -245,7 +245,7 @@ static int __init i2c_parport_init(void)
|
|||
if (irq != 0)
|
||||
pr_info(DRVNAME ": using irq %d\n", irq);
|
||||
|
||||
if (!adapter_parm[type].getscl.val)
|
||||
if (!adapter_parm[type].getscl.val)
|
||||
parport_algo_data.getscl = NULL;
|
||||
|
||||
/* Sets global pdev as a side effect */
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
* i2c-parport.c I2C bus over parallel port *
|
||||
* ------------------------------------------------------------------------ *
|
||||
Copyright (C) 2003-2011 Jean Delvare <khali@linux-fr.org>
|
||||
|
||||
|
||||
Based on older i2c-philips-par.c driver
|
||||
Copyright (C) 1995-2000 Simon G. Vogl
|
||||
With some changes from:
|
||||
Frodo Looijaard <frodol@dds.nl>
|
||||
Kyösti Mälkki <kmalkki@cc.hut.fi>
|
||||
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
|
@ -78,13 +78,13 @@ static unsigned char port_read_control(struct parport *p)
|
|||
return parport_read_control(p);
|
||||
}
|
||||
|
||||
static void (*port_write[])(struct parport *, unsigned char) = {
|
||||
static void (* const port_write[])(struct parport *, unsigned char) = {
|
||||
port_write_data,
|
||||
NULL,
|
||||
port_write_control,
|
||||
};
|
||||
|
||||
static unsigned char (*port_read[])(struct parport *) = {
|
||||
static unsigned char (* const port_read[])(struct parport *) = {
|
||||
port_read_data,
|
||||
port_read_status,
|
||||
port_read_control,
|
||||
|
@ -147,7 +147,7 @@ static const struct i2c_algo_bit_data parport_algo_data = {
|
|||
.getscl = parport_getscl,
|
||||
.udelay = 10, /* ~50 kbps */
|
||||
.timeout = HZ,
|
||||
};
|
||||
};
|
||||
|
||||
/* ----- I2c and parallel port call-back functions and structures --------- */
|
||||
|
||||
|
@ -164,10 +164,10 @@ void i2c_parport_irq(void *data)
|
|||
"SMBus alert received but no ARA client!\n");
|
||||
}
|
||||
|
||||
static void i2c_parport_attach (struct parport *port)
|
||||
static void i2c_parport_attach(struct parport *port)
|
||||
{
|
||||
struct i2c_par *adapter;
|
||||
|
||||
|
||||
adapter = kzalloc(sizeof(struct i2c_par), GFP_KERNEL);
|
||||
if (adapter == NULL) {
|
||||
printk(KERN_ERR "i2c-parport: Failed to kzalloc\n");
|
||||
|
@ -180,7 +180,7 @@ static void i2c_parport_attach (struct parport *port)
|
|||
NULL, NULL, i2c_parport_irq, PARPORT_FLAG_EXCL, adapter);
|
||||
if (!adapter->pdev) {
|
||||
printk(KERN_ERR "i2c-parport: Unable to register with parport\n");
|
||||
goto ERROR0;
|
||||
goto err_free;
|
||||
}
|
||||
|
||||
/* Fill the rest of the structure */
|
||||
|
@ -200,7 +200,7 @@ static void i2c_parport_attach (struct parport *port)
|
|||
|
||||
if (parport_claim_or_block(adapter->pdev) < 0) {
|
||||
printk(KERN_ERR "i2c-parport: Could not claim parallel port\n");
|
||||
goto ERROR1;
|
||||
goto err_unregister;
|
||||
}
|
||||
|
||||
/* Reset hardware to a sane state (SCL and SDA high) */
|
||||
|
@ -215,7 +215,7 @@ static void i2c_parport_attach (struct parport *port)
|
|||
|
||||
if (i2c_bit_add_bus(&adapter->adapter) < 0) {
|
||||
printk(KERN_ERR "i2c-parport: Unable to register with I2C\n");
|
||||
goto ERROR1;
|
||||
goto err_unregister;
|
||||
}
|
||||
|
||||
/* Setup SMBus alert if supported */
|
||||
|
@ -234,16 +234,16 @@ static void i2c_parport_attach (struct parport *port)
|
|||
mutex_lock(&adapter_list_lock);
|
||||
list_add_tail(&adapter->node, &adapter_list);
|
||||
mutex_unlock(&adapter_list_lock);
|
||||
return;
|
||||
return;
|
||||
|
||||
ERROR1:
|
||||
err_unregister:
|
||||
parport_release(adapter->pdev);
|
||||
parport_unregister_device(adapter->pdev);
|
||||
ERROR0:
|
||||
err_free:
|
||||
kfree(adapter);
|
||||
}
|
||||
|
||||
static void i2c_parport_detach (struct parport *port)
|
||||
static void i2c_parport_detach(struct parport *port)
|
||||
{
|
||||
struct i2c_par *adapter, *_n;
|
||||
|
||||
|
@ -260,7 +260,7 @@ static void i2c_parport_detach (struct parport *port)
|
|||
/* Un-init if needed (power off...) */
|
||||
if (adapter_parm[type].init.val)
|
||||
line_set(port, 0, &adapter_parm[type].init);
|
||||
|
||||
|
||||
parport_release(adapter->pdev);
|
||||
parport_unregister_device(adapter->pdev);
|
||||
list_del(&adapter->node);
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* i2c-parport.h I2C bus over parallel port *
|
||||
* ------------------------------------------------------------------------ *
|
||||
Copyright (C) 2003-2010 Jean Delvare <khali@linux-fr.org>
|
||||
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
|
@ -18,13 +18,9 @@
|
|||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
* ------------------------------------------------------------------------ */
|
||||
|
||||
#ifdef DATA
|
||||
#undef DATA
|
||||
#endif
|
||||
|
||||
#define DATA 0
|
||||
#define STAT 1
|
||||
#define CTRL 2
|
||||
#define PORT_DATA 0
|
||||
#define PORT_STAT 1
|
||||
#define PORT_CTRL 2
|
||||
|
||||
struct lineop {
|
||||
u8 val;
|
||||
|
@ -41,61 +37,61 @@ struct adapter_parm {
|
|||
unsigned int smbus_alert:1;
|
||||
};
|
||||
|
||||
static struct adapter_parm adapter_parm[] = {
|
||||
static const struct adapter_parm adapter_parm[] = {
|
||||
/* type 0: Philips adapter */
|
||||
{
|
||||
.setsda = { 0x80, DATA, 1 },
|
||||
.setscl = { 0x08, CTRL, 0 },
|
||||
.getsda = { 0x80, STAT, 0 },
|
||||
.getscl = { 0x08, STAT, 0 },
|
||||
.setsda = { 0x80, PORT_DATA, 1 },
|
||||
.setscl = { 0x08, PORT_CTRL, 0 },
|
||||
.getsda = { 0x80, PORT_STAT, 0 },
|
||||
.getscl = { 0x08, PORT_STAT, 0 },
|
||||
},
|
||||
/* type 1: home brew teletext adapter */
|
||||
{
|
||||
.setsda = { 0x02, DATA, 0 },
|
||||
.setscl = { 0x01, DATA, 0 },
|
||||
.getsda = { 0x80, STAT, 1 },
|
||||
.setsda = { 0x02, PORT_DATA, 0 },
|
||||
.setscl = { 0x01, PORT_DATA, 0 },
|
||||
.getsda = { 0x80, PORT_STAT, 1 },
|
||||
},
|
||||
/* type 2: Velleman K8000 adapter */
|
||||
{
|
||||
.setsda = { 0x02, CTRL, 1 },
|
||||
.setscl = { 0x08, CTRL, 1 },
|
||||
.getsda = { 0x10, STAT, 0 },
|
||||
.setsda = { 0x02, PORT_CTRL, 1 },
|
||||
.setscl = { 0x08, PORT_CTRL, 1 },
|
||||
.getsda = { 0x10, PORT_STAT, 0 },
|
||||
},
|
||||
/* type 3: ELV adapter */
|
||||
{
|
||||
.setsda = { 0x02, DATA, 1 },
|
||||
.setscl = { 0x01, DATA, 1 },
|
||||
.getsda = { 0x40, STAT, 1 },
|
||||
.getscl = { 0x08, STAT, 1 },
|
||||
.setsda = { 0x02, PORT_DATA, 1 },
|
||||
.setscl = { 0x01, PORT_DATA, 1 },
|
||||
.getsda = { 0x40, PORT_STAT, 1 },
|
||||
.getscl = { 0x08, PORT_STAT, 1 },
|
||||
},
|
||||
/* type 4: ADM1032 evaluation board */
|
||||
{
|
||||
.setsda = { 0x02, DATA, 1 },
|
||||
.setscl = { 0x01, DATA, 1 },
|
||||
.getsda = { 0x10, STAT, 1 },
|
||||
.init = { 0xf0, DATA, 0 },
|
||||
.setsda = { 0x02, PORT_DATA, 1 },
|
||||
.setscl = { 0x01, PORT_DATA, 1 },
|
||||
.getsda = { 0x10, PORT_STAT, 1 },
|
||||
.init = { 0xf0, PORT_DATA, 0 },
|
||||
.smbus_alert = 1,
|
||||
},
|
||||
/* type 5: ADM1025, ADM1030 and ADM1031 evaluation boards */
|
||||
{
|
||||
.setsda = { 0x02, DATA, 1 },
|
||||
.setscl = { 0x01, DATA, 1 },
|
||||
.getsda = { 0x10, STAT, 1 },
|
||||
.setsda = { 0x02, PORT_DATA, 1 },
|
||||
.setscl = { 0x01, PORT_DATA, 1 },
|
||||
.getsda = { 0x10, PORT_STAT, 1 },
|
||||
},
|
||||
/* type 6: Barco LPT->DVI (K5800236) adapter */
|
||||
{
|
||||
.setsda = { 0x02, DATA, 1 },
|
||||
.setscl = { 0x01, DATA, 1 },
|
||||
.getsda = { 0x20, STAT, 0 },
|
||||
.getscl = { 0x40, STAT, 0 },
|
||||
.init = { 0xfc, DATA, 0 },
|
||||
.setsda = { 0x02, PORT_DATA, 1 },
|
||||
.setscl = { 0x01, PORT_DATA, 1 },
|
||||
.getsda = { 0x20, PORT_STAT, 0 },
|
||||
.getscl = { 0x40, PORT_STAT, 0 },
|
||||
.init = { 0xfc, PORT_DATA, 0 },
|
||||
},
|
||||
/* type 7: One For All JP1 parallel port adapter */
|
||||
{
|
||||
.setsda = { 0x01, DATA, 0 },
|
||||
.setscl = { 0x02, DATA, 0 },
|
||||
.getsda = { 0x80, STAT, 1 },
|
||||
.init = { 0x04, DATA, 1 },
|
||||
.setsda = { 0x01, PORT_DATA, 0 },
|
||||
.setscl = { 0x02, PORT_DATA, 0 },
|
||||
.getsda = { 0x80, PORT_STAT, 1 },
|
||||
.init = { 0x04, PORT_DATA, 1 },
|
||||
},
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user