.. | .. |
---|
87 | 87 | |
---|
88 | 88 | #define OWL_I2C_MAX_RETRIES 50 |
---|
89 | 89 | |
---|
90 | | -#define OWL_I2C_DEF_SPEED_HZ 100000 |
---|
91 | | -#define OWL_I2C_MAX_SPEED_HZ 400000 |
---|
92 | | - |
---|
93 | 90 | struct owl_i2c_dev { |
---|
94 | 91 | struct i2c_adapter adap; |
---|
95 | 92 | struct i2c_msg *msg; |
---|
.. | .. |
---|
168 | 165 | { |
---|
169 | 166 | struct owl_i2c_dev *i2c_dev = _dev; |
---|
170 | 167 | struct i2c_msg *msg = i2c_dev->msg; |
---|
171 | | - unsigned long flags; |
---|
172 | 168 | unsigned int stat, fifostat; |
---|
173 | 169 | |
---|
174 | | - spin_lock_irqsave(&i2c_dev->lock, flags); |
---|
| 170 | + spin_lock(&i2c_dev->lock); |
---|
175 | 171 | |
---|
176 | 172 | i2c_dev->err = 0; |
---|
177 | 173 | |
---|
.. | .. |
---|
217 | 213 | OWL_I2C_STAT_IRQP, true); |
---|
218 | 214 | |
---|
219 | 215 | complete_all(&i2c_dev->msg_complete); |
---|
220 | | - spin_unlock_irqrestore(&i2c_dev->lock, flags); |
---|
| 216 | + spin_unlock(&i2c_dev->lock); |
---|
221 | 217 | |
---|
222 | 218 | return IRQ_HANDLED; |
---|
223 | 219 | } |
---|
.. | .. |
---|
405 | 401 | { |
---|
406 | 402 | struct device *dev = &pdev->dev; |
---|
407 | 403 | struct owl_i2c_dev *i2c_dev; |
---|
408 | | - struct resource *res; |
---|
409 | 404 | int ret, irq; |
---|
410 | 405 | |
---|
411 | 406 | i2c_dev = devm_kzalloc(dev, sizeof(*i2c_dev), GFP_KERNEL); |
---|
412 | 407 | if (!i2c_dev) |
---|
413 | 408 | return -ENOMEM; |
---|
414 | 409 | |
---|
415 | | - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
---|
416 | | - i2c_dev->base = devm_ioremap_resource(dev, res); |
---|
| 410 | + i2c_dev->base = devm_platform_ioremap_resource(pdev, 0); |
---|
417 | 411 | if (IS_ERR(i2c_dev->base)) |
---|
418 | 412 | return PTR_ERR(i2c_dev->base); |
---|
419 | 413 | |
---|
420 | 414 | irq = platform_get_irq(pdev, 0); |
---|
421 | | - if (irq < 0) { |
---|
422 | | - dev_err(dev, "failed to get IRQ number\n"); |
---|
| 415 | + if (irq < 0) |
---|
423 | 416 | return irq; |
---|
424 | | - } |
---|
425 | 417 | |
---|
426 | 418 | if (of_property_read_u32(dev->of_node, "clock-frequency", |
---|
427 | 419 | &i2c_dev->bus_freq)) |
---|
428 | | - i2c_dev->bus_freq = OWL_I2C_DEF_SPEED_HZ; |
---|
| 420 | + i2c_dev->bus_freq = I2C_MAX_STANDARD_MODE_FREQ; |
---|
429 | 421 | |
---|
430 | 422 | /* We support only frequencies of 100k and 400k for now */ |
---|
431 | | - if (i2c_dev->bus_freq != OWL_I2C_DEF_SPEED_HZ && |
---|
432 | | - i2c_dev->bus_freq != OWL_I2C_MAX_SPEED_HZ) { |
---|
| 423 | + if (i2c_dev->bus_freq != I2C_MAX_STANDARD_MODE_FREQ && |
---|
| 424 | + i2c_dev->bus_freq != I2C_MAX_FAST_MODE_FREQ) { |
---|
433 | 425 | dev_err(dev, "invalid clock-frequency %d\n", i2c_dev->bus_freq); |
---|
434 | 426 | return -EINVAL; |
---|
435 | 427 | } |
---|
.. | .. |
---|
481 | 473 | } |
---|
482 | 474 | |
---|
483 | 475 | static const struct of_device_id owl_i2c_of_match[] = { |
---|
| 476 | + { .compatible = "actions,s700-i2c" }, |
---|
484 | 477 | { .compatible = "actions,s900-i2c" }, |
---|
485 | 478 | { /* sentinel */ } |
---|
486 | 479 | }; |
---|