| .. | .. |
|---|
| 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) |
|---|