diff options
Diffstat (limited to 'drivers/media/pci/cx88/cx88-vp3054-i2c.c')
| -rw-r--r-- | drivers/media/pci/cx88/cx88-vp3054-i2c.c | 53 |
1 files changed, 18 insertions, 35 deletions
diff --git a/drivers/media/pci/cx88/cx88-vp3054-i2c.c b/drivers/media/pci/cx88/cx88-vp3054-i2c.c index deede6e25d94..ac7f76dc5e21 100644 --- a/drivers/media/pci/cx88/cx88-vp3054-i2c.c +++ b/drivers/media/pci/cx88/cx88-vp3054-i2c.c @@ -1,35 +1,19 @@ +// SPDX-License-Identifier: GPL-2.0-or-later /* + * cx88-vp3054-i2c.c -- support for the secondary I2C bus of the + * DNTV Live! DVB-T Pro (VP-3054), wired as: + * GPIO[0] -> SCL, GPIO[1] -> SDA + * + * (c) 2005 Chris Pascoe <c.pascoe@itee.uq.edu.au> + */ - cx88-vp3054-i2c.c -- support for the secondary I2C bus of the - DNTV Live! DVB-T Pro (VP-3054), wired as: - GPIO[0] -> SCL, GPIO[1] -> SDA - - (c) 2005 Chris Pascoe <c.pascoe@itee.uq.edu.au> - - 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 - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ +#include "cx88.h" +#include "cx88-vp3054-i2c.h" #include <linux/module.h> #include <linux/slab.h> #include <linux/init.h> - -#include <asm/io.h> - -#include "cx88.h" -#include "cx88-vp3054-i2c.h" +#include <linux/io.h> MODULE_DESCRIPTION("driver for cx2388x VP3054 design"); MODULE_AUTHOR("Chris Pascoe <c.pascoe@itee.uq.edu.au>"); @@ -114,26 +98,26 @@ int vp3054_i2c_probe(struct cx8802_dev *dev) return 0; vp3054_i2c = kzalloc(sizeof(*vp3054_i2c), GFP_KERNEL); - if (vp3054_i2c == NULL) + if (!vp3054_i2c) return -ENOMEM; dev->vp3054 = vp3054_i2c; vp3054_i2c->algo = vp3054_i2c_algo_template; vp3054_i2c->adap.dev.parent = &dev->pci->dev; - strlcpy(vp3054_i2c->adap.name, core->name, + strscpy(vp3054_i2c->adap.name, core->name, sizeof(vp3054_i2c->adap.name)); vp3054_i2c->adap.owner = THIS_MODULE; vp3054_i2c->algo.data = dev; i2c_set_adapdata(&vp3054_i2c->adap, dev); vp3054_i2c->adap.algo_data = &vp3054_i2c->algo; - vp3054_bit_setscl(dev,1); - vp3054_bit_setsda(dev,1); + vp3054_bit_setscl(dev, 1); + vp3054_bit_setsda(dev, 1); rc = i2c_bit_add_bus(&vp3054_i2c->adap); - if (0 != rc) { - printk("%s: vp3054_i2c register FAILED\n", core->name); + if (rc != 0) { + pr_err("vp3054_i2c register FAILED\n"); kfree(dev->vp3054); dev->vp3054 = NULL; @@ -141,18 +125,17 @@ int vp3054_i2c_probe(struct cx8802_dev *dev) return rc; } +EXPORT_SYMBOL(vp3054_i2c_probe); void vp3054_i2c_remove(struct cx8802_dev *dev) { struct vp3054_i2c_state *vp3054_i2c = dev->vp3054; - if (vp3054_i2c == NULL || + if (!vp3054_i2c || dev->core->boardnr != CX88_BOARD_DNTV_LIVE_DVB_T_PRO) return; i2c_del_adapter(&vp3054_i2c->adap); kfree(vp3054_i2c); } - -EXPORT_SYMBOL(vp3054_i2c_probe); EXPORT_SYMBOL(vp3054_i2c_remove); |
