.. | .. |
---|
71 | 71 | #define XLP9XX_I2C_SLAVEADDR_ADDR_SHIFT 1 |
---|
72 | 72 | |
---|
73 | 73 | #define XLP9XX_I2C_IP_CLK_FREQ 133000000UL |
---|
74 | | -#define XLP9XX_I2C_DEFAULT_FREQ 100000 |
---|
75 | | -#define XLP9XX_I2C_HIGH_FREQ 400000 |
---|
76 | 74 | #define XLP9XX_I2C_FIFO_SIZE 0x80U |
---|
77 | 75 | #define XLP9XX_I2C_TIMEOUT_MS 1000 |
---|
78 | 76 | #define XLP9XX_I2C_BUSY_TIMEOUT 50 |
---|
.. | .. |
---|
476 | 474 | |
---|
477 | 475 | err = device_property_read_u32(&pdev->dev, "clock-frequency", &freq); |
---|
478 | 476 | if (err) { |
---|
479 | | - freq = XLP9XX_I2C_DEFAULT_FREQ; |
---|
| 477 | + freq = I2C_MAX_STANDARD_MODE_FREQ; |
---|
480 | 478 | dev_dbg(&pdev->dev, "using default frequency %u\n", freq); |
---|
481 | | - } else if (freq == 0 || freq > XLP9XX_I2C_HIGH_FREQ) { |
---|
| 479 | + } else if (freq == 0 || freq > I2C_MAX_FAST_MODE_FREQ) { |
---|
482 | 480 | dev_warn(&pdev->dev, "invalid frequency %u, using default\n", |
---|
483 | 481 | freq); |
---|
484 | | - freq = XLP9XX_I2C_DEFAULT_FREQ; |
---|
| 482 | + freq = I2C_MAX_STANDARD_MODE_FREQ; |
---|
485 | 483 | } |
---|
486 | 484 | priv->clk_hz = freq; |
---|
487 | 485 | |
---|
.. | .. |
---|
491 | 489 | static int xlp9xx_i2c_smbus_setup(struct xlp9xx_i2c_dev *priv, |
---|
492 | 490 | struct platform_device *pdev) |
---|
493 | 491 | { |
---|
| 492 | + struct i2c_client *ara; |
---|
| 493 | + |
---|
494 | 494 | if (!priv->alert_data.irq) |
---|
495 | 495 | return -EINVAL; |
---|
496 | 496 | |
---|
497 | | - priv->ara = i2c_setup_smbus_alert(&priv->adapter, &priv->alert_data); |
---|
498 | | - if (!priv->ara) |
---|
499 | | - return -ENODEV; |
---|
| 497 | + ara = i2c_new_smbus_alert_device(&priv->adapter, &priv->alert_data); |
---|
| 498 | + if (IS_ERR(ara)) |
---|
| 499 | + return PTR_ERR(ara); |
---|
| 500 | + |
---|
| 501 | + priv->ara = ara; |
---|
500 | 502 | |
---|
501 | 503 | return 0; |
---|
502 | 504 | } |
---|
.. | .. |
---|
504 | 506 | static int xlp9xx_i2c_probe(struct platform_device *pdev) |
---|
505 | 507 | { |
---|
506 | 508 | struct xlp9xx_i2c_dev *priv; |
---|
507 | | - struct resource *res; |
---|
508 | 509 | int err = 0; |
---|
509 | 510 | |
---|
510 | 511 | priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); |
---|
511 | 512 | if (!priv) |
---|
512 | 513 | return -ENOMEM; |
---|
513 | 514 | |
---|
514 | | - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
---|
515 | | - priv->base = devm_ioremap_resource(&pdev->dev, res); |
---|
| 515 | + priv->base = devm_platform_ioremap_resource(pdev, 0); |
---|
516 | 516 | if (IS_ERR(priv->base)) |
---|
517 | 517 | return PTR_ERR(priv->base); |
---|
518 | 518 | |
---|
519 | 519 | priv->irq = platform_get_irq(pdev, 0); |
---|
520 | | - if (priv->irq <= 0) { |
---|
521 | | - dev_err(&pdev->dev, "invalid irq!\n"); |
---|
| 520 | + if (priv->irq < 0) |
---|
522 | 521 | return priv->irq; |
---|
523 | | - } |
---|
524 | 522 | /* SMBAlert irq */ |
---|
525 | 523 | priv->alert_data.irq = platform_get_irq(pdev, 1); |
---|
526 | 524 | if (priv->alert_data.irq <= 0) |
---|