static struct pci_driver pasemi_smb_driver;
struct pasemi_smbus {
- struct pci_dev *dev;
+ struct device *dev;
struct i2c_adapter adapter;
void __iomem *ioaddr;
unsigned long base;
static inline void reg_write(struct pasemi_smbus *smbus, int reg, int val)
{
- dev_dbg(&smbus->dev->dev, "smbus write reg %lx val %08x\n",
+ dev_dbg(smbus->dev, "smbus write reg %lx val %08x\n",
smbus->base + reg, val);
iowrite32(val, smbus->ioaddr + reg);
}
{
int ret;
ret = ioread32(smbus->ioaddr + reg);
- dev_dbg(&smbus->dev->dev, "smbus read reg %lx val %08x\n",
+ dev_dbg(smbus->dev, "smbus read reg %lx val %08x\n",
smbus->base + reg, ret);
return ret;
}
return -ENXIO;
if (timeout < 0) {
- dev_warn(&smbus->dev->dev, "Timeout, status 0x%08x\n", status);
+ dev_warn(smbus->dev, "Timeout, status 0x%08x\n", status);
reg_write(smbus, REG_SMSTA, status);
return -ETIME;
}
if (!smbus)
return -ENOMEM;
- smbus->dev = dev;
+ smbus->dev = &dev->dev;
smbus->base = pci_resource_start(dev, 0);
smbus->size = pci_resource_len(dev, 0);
smbus->adapter.algo_data = smbus;
/* set up the sysfs linkage to our parent device */
- smbus->adapter.dev.parent = &dev->dev;
+ smbus->adapter.dev.parent = smbus->dev;
reg_write(smbus, REG_CTL, (CTL_MTR | CTL_MRR |
(CLK_100K_DIV & CTL_CLK_M)));