提交 5e098b66 编写于 作者: T Trent Piepho 提交者: Mauro Carvalho Chehab

V4L/DVB (10225): zoran: Remove zr36057_adr field

The driver should only use the kernel mapped io address, zr36057_mem, and
not the PCI bus address, zr36057_adr.  Since the latter is only printed out
once, there is no need to save it in the driver data structure.

There was some old code that looked like it was for the Alpha architecture
which would use the PCI bus address.  It probably no longer applies to
modern kernels.
Signed-off-by: NTrent Piepho <xyzzy@speakeasy.org>
Acked-by: NJean Delvare <khali@linux-fr.org>
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
上级 17faeb20
......@@ -400,7 +400,6 @@ struct zoran {
char name[32]; /* name of this device */
struct pci_dev *pci_dev; /* PCI device */
unsigned char revision; /* revision of zr36057 */
unsigned int zr36057_adr; /* bus address of IO mem returned by PCI BIOS */
unsigned char __iomem *zr36057_mem;/* pointer to mapped IO memory */
spinlock_t spinlock; /* Spinlock */
......@@ -489,16 +488,10 @@ struct zoran {
wait_queue_head_t test_q;
};
/*The following should be done in more portable way. It depends on define
of _ALPHA_BUZ in the Makefile.*/
#ifdef _ALPHA_BUZ
#define btwrite(dat,adr) writel((dat), zr->zr36057_adr+(adr))
#define btread(adr) readl(zr->zr36057_adr+(adr))
#else
/* There was something called _ALPHA_BUZ that used the PCI address instead of
* the kernel iomapped address for btread/btwrite. */
#define btwrite(dat,adr) writel((dat), zr->zr36057_mem+(adr))
#define btread(adr) readl(zr->zr36057_mem+(adr))
#endif
#define btand(dat,adr) btwrite((dat) & btread(adr), adr)
#define btor(dat,adr) btwrite((dat) | btread(adr), adr)
......
......@@ -1297,14 +1297,13 @@ static int __devinit zoran_probe(struct pci_dev *pdev,
mutex_init(&zr->resource_lock);
if (pci_enable_device(pdev))
goto zr_free_mem;
zr->zr36057_adr = pci_resource_start(zr->pci_dev, 0);
pci_read_config_byte(zr->pci_dev, PCI_CLASS_REVISION, &zr->revision);
dprintk(1,
KERN_INFO
"%s: Zoran ZR360%c7 (rev %d), irq: %d, memory: 0x%08x\n",
"%s: Zoran ZR360%c7 (rev %d), irq: %d, memory: 0x%08llx\n",
ZR_DEVNAME(zr), zr->revision < 2 ? '5' : '6', zr->revision,
zr->pci_dev->irq, zr->zr36057_adr);
zr->pci_dev->irq, (uint64_t)pci_resource_start(zr->pci_dev, 0));
if (zr->revision >= 2) {
dprintk(1,
KERN_INFO
......@@ -1359,12 +1358,12 @@ static int __devinit zoran_probe(struct pci_dev *pdev,
snprintf(ZR_DEVNAME(zr), sizeof(ZR_DEVNAME(zr)),
"%s[%u]", zr->card.name, zr->id);
zr->zr36057_mem = ioremap_nocache(zr->zr36057_adr, 0x1000);
zr->zr36057_mem = pci_ioremap_bar(zr->pci_dev, 0);
if (!zr->zr36057_mem) {
dprintk(1,
KERN_ERR
"%s: find_zr36057() - ioremap failed\n",
ZR_DEVNAME(zr));
"%s: %s() - ioremap failed\n",
ZR_DEVNAME(zr), __func__);
goto zr_free_mem;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册