|
@@ -149,7 +149,7 @@ int init_vfc_device(struct sbus_dev *sdev,struct vfc_dev *dev, int instance)
|
|
}
|
|
}
|
|
printk("Initializing vfc%d\n",instance);
|
|
printk("Initializing vfc%d\n",instance);
|
|
dev->regs = NULL;
|
|
dev->regs = NULL;
|
|
- dev->regs = (volatile struct vfc_regs *)
|
|
|
|
|
|
+ dev->regs = (volatile struct vfc_regs __iomem *)
|
|
sbus_ioremap(&sdev->resource[0], 0,
|
|
sbus_ioremap(&sdev->resource[0], 0,
|
|
sizeof(struct vfc_regs), vfcstr);
|
|
sizeof(struct vfc_regs), vfcstr);
|
|
dev->which_io = sdev->reg_addrs[0].which_io;
|
|
dev->which_io = sdev->reg_addrs[0].which_io;
|
|
@@ -319,7 +319,7 @@ int vfc_capture_poll(struct vfc_dev *dev)
|
|
int timeout = 1000;
|
|
int timeout = 1000;
|
|
|
|
|
|
while (!timeout--) {
|
|
while (!timeout--) {
|
|
- if (dev->regs->control & VFC_STATUS_CAPTURE)
|
|
|
|
|
|
+ if (sbus_readl(&dev->regs->control) & VFC_STATUS_CAPTURE)
|
|
break;
|
|
break;
|
|
vfc_i2c_delay_no_busy(dev, 100);
|
|
vfc_i2c_delay_no_busy(dev, 100);
|
|
}
|
|
}
|
|
@@ -718,7 +718,7 @@ static void deinit_vfc_device(struct vfc_dev *dev)
|
|
if(dev == NULL)
|
|
if(dev == NULL)
|
|
return;
|
|
return;
|
|
devfs_remove("vfc/%d", dev->instance);
|
|
devfs_remove("vfc/%d", dev->instance);
|
|
- sbus_iounmap((unsigned long)dev->regs, sizeof(struct vfc_regs));
|
|
|
|
|
|
+ sbus_iounmap(dev->regs, sizeof(struct vfc_regs));
|
|
kfree(dev);
|
|
kfree(dev);
|
|
}
|
|
}
|
|
|
|
|