alg_data 120 drivers/i2c/busses/i2c-pnx.c static inline void i2c_pnx_arm_timer(struct i2c_pnx_algo_data *alg_data) alg_data 122 drivers/i2c/busses/i2c-pnx.c struct timer_list *timer = &alg_data->mif.timer; alg_data 123 drivers/i2c/busses/i2c-pnx.c unsigned long expires = msecs_to_jiffies(alg_data->timeout); alg_data 130 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, "Timer armed at %lu plus %lu jiffies.\n", alg_data 146 drivers/i2c/busses/i2c-pnx.c struct i2c_pnx_algo_data *alg_data) alg_data 148 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, "%s(): addr 0x%x mode %d\n", __func__, alg_data 149 drivers/i2c/busses/i2c-pnx.c slave_addr, alg_data->mif.mode); alg_data 153 drivers/i2c/busses/i2c-pnx.c dev_err(&alg_data->adapter.dev, alg_data 155 drivers/i2c/busses/i2c-pnx.c alg_data->adapter.name, slave_addr); alg_data 160 drivers/i2c/busses/i2c-pnx.c if (wait_timeout(alg_data)) { alg_data 162 drivers/i2c/busses/i2c-pnx.c dev_err(&alg_data->adapter.dev, alg_data 164 drivers/i2c/busses/i2c-pnx.c alg_data->adapter.name, slave_addr, alg_data 165 drivers/i2c/busses/i2c-pnx.c ioread32(I2C_REG_CTL(alg_data)), alg_data 166 drivers/i2c/busses/i2c-pnx.c ioread32(I2C_REG_STS(alg_data))); alg_data 168 drivers/i2c/busses/i2c-pnx.c } else if (ioread32(I2C_REG_STS(alg_data)) & mstatus_afi) { alg_data 170 drivers/i2c/busses/i2c-pnx.c dev_err(&alg_data->adapter.dev, alg_data 172 drivers/i2c/busses/i2c-pnx.c alg_data->adapter.name, slave_addr); alg_data 180 drivers/i2c/busses/i2c-pnx.c iowrite32(ioread32(I2C_REG_STS(alg_data)) | mstatus_tdi | mstatus_afi, alg_data 181 drivers/i2c/busses/i2c-pnx.c I2C_REG_STS(alg_data)); alg_data 183 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, "%s(): sending %#x\n", __func__, alg_data 184 drivers/i2c/busses/i2c-pnx.c (slave_addr << 1) | start_bit | alg_data->mif.mode); alg_data 187 drivers/i2c/busses/i2c-pnx.c iowrite32((slave_addr << 1) | start_bit | alg_data->mif.mode, alg_data 188 drivers/i2c/busses/i2c-pnx.c I2C_REG_TX(alg_data)); alg_data 190 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, "%s(): exit\n", __func__); alg_data 201 drivers/i2c/busses/i2c-pnx.c static void i2c_pnx_stop(struct i2c_pnx_algo_data *alg_data) alg_data 206 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, "%s(): entering: stat = %04x.\n", alg_data 207 drivers/i2c/busses/i2c-pnx.c __func__, ioread32(I2C_REG_STS(alg_data))); alg_data 210 drivers/i2c/busses/i2c-pnx.c iowrite32(0xff | stop_bit, I2C_REG_TX(alg_data)); alg_data 214 drivers/i2c/busses/i2c-pnx.c (ioread32(I2C_REG_STS(alg_data)) & mstatus_active)) { alg_data 220 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, "%s(): exiting: stat = %04x.\n", alg_data 221 drivers/i2c/busses/i2c-pnx.c __func__, ioread32(I2C_REG_STS(alg_data))); alg_data 230 drivers/i2c/busses/i2c-pnx.c static int i2c_pnx_master_xmit(struct i2c_pnx_algo_data *alg_data) alg_data 234 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, "%s(): entering: stat = %04x.\n", alg_data 235 drivers/i2c/busses/i2c-pnx.c __func__, ioread32(I2C_REG_STS(alg_data))); alg_data 237 drivers/i2c/busses/i2c-pnx.c if (alg_data->mif.len > 0) { alg_data 239 drivers/i2c/busses/i2c-pnx.c val = *alg_data->mif.buf++; alg_data 241 drivers/i2c/busses/i2c-pnx.c if (alg_data->mif.len == 1) alg_data 244 drivers/i2c/busses/i2c-pnx.c alg_data->mif.len--; alg_data 245 drivers/i2c/busses/i2c-pnx.c iowrite32(val, I2C_REG_TX(alg_data)); alg_data 247 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, "%s(): xmit %#x [%d]\n", alg_data 248 drivers/i2c/busses/i2c-pnx.c __func__, val, alg_data->mif.len + 1); alg_data 250 drivers/i2c/busses/i2c-pnx.c if (alg_data->mif.len == 0) { alg_data 251 drivers/i2c/busses/i2c-pnx.c if (alg_data->last) { alg_data 253 drivers/i2c/busses/i2c-pnx.c if (wait_timeout(alg_data)) alg_data 254 drivers/i2c/busses/i2c-pnx.c dev_err(&alg_data->adapter.dev, alg_data 258 drivers/i2c/busses/i2c-pnx.c iowrite32(ioread32(I2C_REG_CTL(alg_data)) & alg_data 260 drivers/i2c/busses/i2c-pnx.c I2C_REG_CTL(alg_data)); alg_data 262 drivers/i2c/busses/i2c-pnx.c del_timer_sync(&alg_data->mif.timer); alg_data 264 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, alg_data 268 drivers/i2c/busses/i2c-pnx.c complete(&alg_data->mif.complete); alg_data 270 drivers/i2c/busses/i2c-pnx.c } else if (alg_data->mif.len == 0) { alg_data 272 drivers/i2c/busses/i2c-pnx.c i2c_pnx_stop(alg_data); alg_data 275 drivers/i2c/busses/i2c-pnx.c iowrite32(ioread32(I2C_REG_CTL(alg_data)) & alg_data 277 drivers/i2c/busses/i2c-pnx.c I2C_REG_CTL(alg_data)); alg_data 280 drivers/i2c/busses/i2c-pnx.c del_timer_sync(&alg_data->mif.timer); alg_data 281 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, alg_data 285 drivers/i2c/busses/i2c-pnx.c complete(&alg_data->mif.complete); alg_data 288 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, "%s(): exiting: stat = %04x.\n", alg_data 289 drivers/i2c/busses/i2c-pnx.c __func__, ioread32(I2C_REG_STS(alg_data))); alg_data 300 drivers/i2c/busses/i2c-pnx.c static int i2c_pnx_master_rcv(struct i2c_pnx_algo_data *alg_data) alg_data 305 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, "%s(): entering: stat = %04x.\n", alg_data 306 drivers/i2c/busses/i2c-pnx.c __func__, ioread32(I2C_REG_STS(alg_data))); alg_data 311 drivers/i2c/busses/i2c-pnx.c if (ioread32(I2C_REG_STS(alg_data)) & mstatus_rfe) { alg_data 316 drivers/i2c/busses/i2c-pnx.c if (alg_data->mif.order) { alg_data 317 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, alg_data 321 drivers/i2c/busses/i2c-pnx.c if (alg_data->mif.order == 1) { alg_data 329 drivers/i2c/busses/i2c-pnx.c ctl = ioread32(I2C_REG_CTL(alg_data)); alg_data 332 drivers/i2c/busses/i2c-pnx.c iowrite32(ctl, I2C_REG_CTL(alg_data)); alg_data 340 drivers/i2c/busses/i2c-pnx.c iowrite32(val, I2C_REG_TX(alg_data)); alg_data 341 drivers/i2c/busses/i2c-pnx.c alg_data->mif.order--; alg_data 347 drivers/i2c/busses/i2c-pnx.c if (alg_data->mif.len > 0) { alg_data 348 drivers/i2c/busses/i2c-pnx.c val = ioread32(I2C_REG_RX(alg_data)); alg_data 349 drivers/i2c/busses/i2c-pnx.c *alg_data->mif.buf++ = (u8) (val & 0xff); alg_data 350 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, "%s(): rcv 0x%x [%d]\n", alg_data 351 drivers/i2c/busses/i2c-pnx.c __func__, val, alg_data->mif.len); alg_data 353 drivers/i2c/busses/i2c-pnx.c alg_data->mif.len--; alg_data 354 drivers/i2c/busses/i2c-pnx.c if (alg_data->mif.len == 0) { alg_data 355 drivers/i2c/busses/i2c-pnx.c if (alg_data->last) alg_data 357 drivers/i2c/busses/i2c-pnx.c if (wait_timeout(alg_data)) alg_data 358 drivers/i2c/busses/i2c-pnx.c dev_err(&alg_data->adapter.dev, alg_data 362 drivers/i2c/busses/i2c-pnx.c ctl = ioread32(I2C_REG_CTL(alg_data)); alg_data 365 drivers/i2c/busses/i2c-pnx.c iowrite32(ctl, I2C_REG_CTL(alg_data)); alg_data 368 drivers/i2c/busses/i2c-pnx.c del_timer_sync(&alg_data->mif.timer); alg_data 369 drivers/i2c/busses/i2c-pnx.c complete(&alg_data->mif.complete); alg_data 373 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, "%s(): exiting: stat = %04x.\n", alg_data 374 drivers/i2c/busses/i2c-pnx.c __func__, ioread32(I2C_REG_STS(alg_data))); alg_data 381 drivers/i2c/busses/i2c-pnx.c struct i2c_pnx_algo_data *alg_data = dev_id; alg_data 384 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, alg_data 387 drivers/i2c/busses/i2c-pnx.c ioread32(I2C_REG_STS(alg_data)), alg_data 388 drivers/i2c/busses/i2c-pnx.c ioread32(I2C_REG_CTL(alg_data)), alg_data 389 drivers/i2c/busses/i2c-pnx.c alg_data->mif.mode); alg_data 390 drivers/i2c/busses/i2c-pnx.c stat = ioread32(I2C_REG_STS(alg_data)); alg_data 395 drivers/i2c/busses/i2c-pnx.c alg_data->mif.ret = -EIO; alg_data 398 drivers/i2c/busses/i2c-pnx.c ctl = ioread32(I2C_REG_CTL(alg_data)); alg_data 401 drivers/i2c/busses/i2c-pnx.c iowrite32(ctl, I2C_REG_CTL(alg_data)); alg_data 404 drivers/i2c/busses/i2c-pnx.c del_timer_sync(&alg_data->mif.timer); alg_data 405 drivers/i2c/busses/i2c-pnx.c complete(&alg_data->mif.complete); alg_data 408 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, alg_data 411 drivers/i2c/busses/i2c-pnx.c i2c_pnx_stop(alg_data); alg_data 414 drivers/i2c/busses/i2c-pnx.c ctl = ioread32(I2C_REG_CTL(alg_data)); alg_data 417 drivers/i2c/busses/i2c-pnx.c iowrite32(ctl, I2C_REG_CTL(alg_data)); alg_data 420 drivers/i2c/busses/i2c-pnx.c alg_data->mif.ret = -EIO; alg_data 423 drivers/i2c/busses/i2c-pnx.c del_timer_sync(&alg_data->mif.timer); alg_data 424 drivers/i2c/busses/i2c-pnx.c complete(&alg_data->mif.complete); alg_data 436 drivers/i2c/busses/i2c-pnx.c if (alg_data->mif.mode == I2C_SMBUS_WRITE) { alg_data 437 drivers/i2c/busses/i2c-pnx.c i2c_pnx_master_xmit(alg_data); alg_data 438 drivers/i2c/busses/i2c-pnx.c } else if (alg_data->mif.mode == I2C_SMBUS_READ) { alg_data 439 drivers/i2c/busses/i2c-pnx.c i2c_pnx_master_rcv(alg_data); alg_data 445 drivers/i2c/busses/i2c-pnx.c stat = ioread32(I2C_REG_STS(alg_data)); alg_data 446 drivers/i2c/busses/i2c-pnx.c iowrite32(stat | mstatus_tdi | mstatus_afi, I2C_REG_STS(alg_data)); alg_data 448 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, alg_data 450 drivers/i2c/busses/i2c-pnx.c __func__, ioread32(I2C_REG_STS(alg_data)), alg_data 451 drivers/i2c/busses/i2c-pnx.c ioread32(I2C_REG_CTL(alg_data))); alg_data 458 drivers/i2c/busses/i2c-pnx.c struct i2c_pnx_algo_data *alg_data = from_timer(alg_data, t, mif.timer); alg_data 461 drivers/i2c/busses/i2c-pnx.c dev_err(&alg_data->adapter.dev, alg_data 463 drivers/i2c/busses/i2c-pnx.c ioread32(I2C_REG_STS(alg_data)), alg_data 464 drivers/i2c/busses/i2c-pnx.c ioread32(I2C_REG_CTL(alg_data))); alg_data 467 drivers/i2c/busses/i2c-pnx.c ctl = ioread32(I2C_REG_CTL(alg_data)); alg_data 469 drivers/i2c/busses/i2c-pnx.c iowrite32(ctl, I2C_REG_CTL(alg_data)); alg_data 472 drivers/i2c/busses/i2c-pnx.c iowrite32(ctl, I2C_REG_CTL(alg_data)); alg_data 473 drivers/i2c/busses/i2c-pnx.c wait_reset(alg_data); alg_data 474 drivers/i2c/busses/i2c-pnx.c alg_data->mif.ret = -EIO; alg_data 475 drivers/i2c/busses/i2c-pnx.c complete(&alg_data->mif.complete); alg_data 478 drivers/i2c/busses/i2c-pnx.c static inline void bus_reset_if_active(struct i2c_pnx_algo_data *alg_data) alg_data 482 drivers/i2c/busses/i2c-pnx.c if ((stat = ioread32(I2C_REG_STS(alg_data))) & mstatus_active) { alg_data 483 drivers/i2c/busses/i2c-pnx.c dev_err(&alg_data->adapter.dev, alg_data 485 drivers/i2c/busses/i2c-pnx.c alg_data->adapter.name); alg_data 486 drivers/i2c/busses/i2c-pnx.c iowrite32(ioread32(I2C_REG_CTL(alg_data)) | mcntrl_reset, alg_data 487 drivers/i2c/busses/i2c-pnx.c I2C_REG_CTL(alg_data)); alg_data 488 drivers/i2c/busses/i2c-pnx.c wait_reset(alg_data); alg_data 493 drivers/i2c/busses/i2c-pnx.c iowrite32(ioread32(I2C_REG_CTL(alg_data)) | mcntrl_reset, alg_data 494 drivers/i2c/busses/i2c-pnx.c I2C_REG_CTL(alg_data)); alg_data 495 drivers/i2c/busses/i2c-pnx.c wait_reset(alg_data); alg_data 497 drivers/i2c/busses/i2c-pnx.c iowrite32(ioread32(I2C_REG_CTL(alg_data)) | mcntrl_reset, alg_data 498 drivers/i2c/busses/i2c-pnx.c I2C_REG_CTL(alg_data)); alg_data 499 drivers/i2c/busses/i2c-pnx.c wait_reset(alg_data); alg_data 516 drivers/i2c/busses/i2c-pnx.c struct i2c_pnx_algo_data *alg_data = adap->algo_data; alg_data 519 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, alg_data 521 drivers/i2c/busses/i2c-pnx.c __func__, num, ioread32(I2C_REG_STS(alg_data))); alg_data 523 drivers/i2c/busses/i2c-pnx.c bus_reset_if_active(alg_data); alg_data 533 drivers/i2c/busses/i2c-pnx.c dev_err(&alg_data->adapter.dev, alg_data 535 drivers/i2c/busses/i2c-pnx.c alg_data->adapter.name); alg_data 540 drivers/i2c/busses/i2c-pnx.c alg_data->mif.buf = pmsg->buf; alg_data 541 drivers/i2c/busses/i2c-pnx.c alg_data->mif.len = pmsg->len; alg_data 542 drivers/i2c/busses/i2c-pnx.c alg_data->mif.order = pmsg->len; alg_data 543 drivers/i2c/busses/i2c-pnx.c alg_data->mif.mode = (pmsg->flags & I2C_M_RD) ? alg_data 545 drivers/i2c/busses/i2c-pnx.c alg_data->mif.ret = 0; alg_data 546 drivers/i2c/busses/i2c-pnx.c alg_data->last = (i == num - 1); alg_data 548 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, "%s(): mode %d, %d bytes\n", alg_data 549 drivers/i2c/busses/i2c-pnx.c __func__, alg_data->mif.mode, alg_data->mif.len); alg_data 551 drivers/i2c/busses/i2c-pnx.c i2c_pnx_arm_timer(alg_data); alg_data 554 drivers/i2c/busses/i2c-pnx.c init_completion(&alg_data->mif.complete); alg_data 557 drivers/i2c/busses/i2c-pnx.c iowrite32(ioread32(I2C_REG_CTL(alg_data)) | mcntrl_afie | alg_data 559 drivers/i2c/busses/i2c-pnx.c I2C_REG_CTL(alg_data)); alg_data 562 drivers/i2c/busses/i2c-pnx.c rc = i2c_pnx_start(addr, alg_data); alg_data 567 drivers/i2c/busses/i2c-pnx.c wait_for_completion(&alg_data->mif.complete); alg_data 569 drivers/i2c/busses/i2c-pnx.c if (!(rc = alg_data->mif.ret)) alg_data 571 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, alg_data 576 drivers/i2c/busses/i2c-pnx.c if ((stat = ioread32(I2C_REG_STS(alg_data))) & mstatus_tdi) { alg_data 577 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, alg_data 579 drivers/i2c/busses/i2c-pnx.c alg_data->adapter.name); alg_data 580 drivers/i2c/busses/i2c-pnx.c iowrite32(stat, I2C_REG_STS(alg_data)); alg_data 582 drivers/i2c/busses/i2c-pnx.c if ((stat = ioread32(I2C_REG_STS(alg_data))) & mstatus_afi) { alg_data 583 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, alg_data 585 drivers/i2c/busses/i2c-pnx.c alg_data->adapter.name); alg_data 586 drivers/i2c/busses/i2c-pnx.c iowrite32(stat, I2C_REG_STS(alg_data)); alg_data 590 drivers/i2c/busses/i2c-pnx.c bus_reset_if_active(alg_data); alg_data 593 drivers/i2c/busses/i2c-pnx.c alg_data->mif.buf = NULL; alg_data 594 drivers/i2c/busses/i2c-pnx.c alg_data->mif.len = 0; alg_data 595 drivers/i2c/busses/i2c-pnx.c alg_data->mif.order = 0; alg_data 597 drivers/i2c/busses/i2c-pnx.c dev_dbg(&alg_data->adapter.dev, "%s(): exiting, stat = %x\n", alg_data 598 drivers/i2c/busses/i2c-pnx.c __func__, ioread32(I2C_REG_STS(alg_data))); alg_data 619 drivers/i2c/busses/i2c-pnx.c struct i2c_pnx_algo_data *alg_data = dev_get_drvdata(dev); alg_data 621 drivers/i2c/busses/i2c-pnx.c clk_disable_unprepare(alg_data->clk); alg_data 628 drivers/i2c/busses/i2c-pnx.c struct i2c_pnx_algo_data *alg_data = dev_get_drvdata(dev); alg_data 630 drivers/i2c/busses/i2c-pnx.c return clk_prepare_enable(alg_data->clk); alg_data 644 drivers/i2c/busses/i2c-pnx.c struct i2c_pnx_algo_data *alg_data; alg_data 649 drivers/i2c/busses/i2c-pnx.c alg_data = devm_kzalloc(&pdev->dev, sizeof(*alg_data), GFP_KERNEL); alg_data 650 drivers/i2c/busses/i2c-pnx.c if (!alg_data) alg_data 653 drivers/i2c/busses/i2c-pnx.c platform_set_drvdata(pdev, alg_data); alg_data 655 drivers/i2c/busses/i2c-pnx.c alg_data->adapter.dev.parent = &pdev->dev; alg_data 656 drivers/i2c/busses/i2c-pnx.c alg_data->adapter.algo = &pnx_algorithm; alg_data 657 drivers/i2c/busses/i2c-pnx.c alg_data->adapter.algo_data = alg_data; alg_data 658 drivers/i2c/busses/i2c-pnx.c alg_data->adapter.nr = pdev->id; alg_data 660 drivers/i2c/busses/i2c-pnx.c alg_data->timeout = I2C_PNX_TIMEOUT_DEFAULT; alg_data 662 drivers/i2c/busses/i2c-pnx.c alg_data->adapter.dev.of_node = of_node_get(pdev->dev.of_node); alg_data 676 drivers/i2c/busses/i2c-pnx.c alg_data->clk = devm_clk_get(&pdev->dev, NULL); alg_data 677 drivers/i2c/busses/i2c-pnx.c if (IS_ERR(alg_data->clk)) alg_data 678 drivers/i2c/busses/i2c-pnx.c return PTR_ERR(alg_data->clk); alg_data 680 drivers/i2c/busses/i2c-pnx.c timer_setup(&alg_data->mif.timer, i2c_pnx_timeout, 0); alg_data 682 drivers/i2c/busses/i2c-pnx.c snprintf(alg_data->adapter.name, sizeof(alg_data->adapter.name), alg_data 687 drivers/i2c/busses/i2c-pnx.c alg_data->ioaddr = devm_ioremap_resource(&pdev->dev, res); alg_data 688 drivers/i2c/busses/i2c-pnx.c if (IS_ERR(alg_data->ioaddr)) alg_data 689 drivers/i2c/busses/i2c-pnx.c return PTR_ERR(alg_data->ioaddr); alg_data 691 drivers/i2c/busses/i2c-pnx.c ret = clk_prepare_enable(alg_data->clk); alg_data 695 drivers/i2c/busses/i2c-pnx.c freq = clk_get_rate(alg_data->clk); alg_data 711 drivers/i2c/busses/i2c-pnx.c iowrite32(tmp, I2C_REG_CKH(alg_data)); alg_data 712 drivers/i2c/busses/i2c-pnx.c iowrite32(tmp, I2C_REG_CKL(alg_data)); alg_data 714 drivers/i2c/busses/i2c-pnx.c iowrite32(mcntrl_reset, I2C_REG_CTL(alg_data)); alg_data 715 drivers/i2c/busses/i2c-pnx.c if (wait_reset(alg_data)) { alg_data 719 drivers/i2c/busses/i2c-pnx.c init_completion(&alg_data->mif.complete); alg_data 721 drivers/i2c/busses/i2c-pnx.c alg_data->irq = platform_get_irq(pdev, 0); alg_data 722 drivers/i2c/busses/i2c-pnx.c if (alg_data->irq < 0) { alg_data 724 drivers/i2c/busses/i2c-pnx.c ret = alg_data->irq; alg_data 727 drivers/i2c/busses/i2c-pnx.c ret = devm_request_irq(&pdev->dev, alg_data->irq, i2c_pnx_interrupt, alg_data 728 drivers/i2c/busses/i2c-pnx.c 0, pdev->name, alg_data); alg_data 733 drivers/i2c/busses/i2c-pnx.c ret = i2c_add_numbered_adapter(&alg_data->adapter); alg_data 738 drivers/i2c/busses/i2c-pnx.c alg_data->adapter.name, res->start, alg_data->irq); alg_data 743 drivers/i2c/busses/i2c-pnx.c clk_disable_unprepare(alg_data->clk); alg_data 749 drivers/i2c/busses/i2c-pnx.c struct i2c_pnx_algo_data *alg_data = platform_get_drvdata(pdev); alg_data 751 drivers/i2c/busses/i2c-pnx.c i2c_del_adapter(&alg_data->adapter); alg_data 752 drivers/i2c/busses/i2c-pnx.c clk_disable_unprepare(alg_data->clk);