summaryrefslogtreecommitdiff
path: root/drivers/net/pse-pd
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/pse-pd')
-rw-r--r--drivers/net/pse-pd/realtek-pse-mcu-core.c8
-rw-r--r--drivers/net/pse-pd/realtek-pse-mcu-i2c.c1
-rw-r--r--drivers/net/pse-pd/realtek-pse-mcu.h1
-rw-r--r--drivers/net/pse-pd/si3474.c11
4 files changed, 13 insertions, 8 deletions
diff --git a/drivers/net/pse-pd/realtek-pse-mcu-core.c b/drivers/net/pse-pd/realtek-pse-mcu-core.c
index e64f13ea6e4e..c70b09ca2012 100644
--- a/drivers/net/pse-pd/realtek-pse-mcu-core.c
+++ b/drivers/net/pse-pd/realtek-pse-mcu-core.c
@@ -986,7 +986,13 @@ const struct rtpse_mcu_match_data rtpse_mcu_gen2_data = {
};
EXPORT_SYMBOL_GPL(rtpse_mcu_gen2_data);
-/* Same dialect as gen2, but the MCU expects raw-I2C framing. */
+/* Same dialects as above, but the MCU expects raw-I2C framing. */
+const struct rtpse_mcu_match_data rtpse_mcu_gen1_i2c_data = {
+ .dialect = &rtpse_mcu_dialect_gen1,
+ .native_i2c = true,
+};
+EXPORT_SYMBOL_GPL(rtpse_mcu_gen1_i2c_data);
+
const struct rtpse_mcu_match_data rtpse_mcu_gen2_i2c_data = {
.dialect = &rtpse_mcu_dialect_gen2,
.native_i2c = true,
diff --git a/drivers/net/pse-pd/realtek-pse-mcu-i2c.c b/drivers/net/pse-pd/realtek-pse-mcu-i2c.c
index b6769ac1d470..bbded772eddf 100644
--- a/drivers/net/pse-pd/realtek-pse-mcu-i2c.c
+++ b/drivers/net/pse-pd/realtek-pse-mcu-i2c.c
@@ -128,6 +128,7 @@ static int rtpse_mcu_i2c_probe(struct i2c_client *client)
static const struct of_device_id rtpse_mcu_i2c_of_match[] = {
{ .compatible = "realtek,pse-mcu-gen1-smbus", .data = &rtpse_mcu_gen1_data },
+ { .compatible = "realtek,pse-mcu-gen1-i2c", .data = &rtpse_mcu_gen1_i2c_data },
{ .compatible = "realtek,pse-mcu-gen2-smbus", .data = &rtpse_mcu_gen2_data },
{ .compatible = "realtek,pse-mcu-gen2-i2c", .data = &rtpse_mcu_gen2_i2c_data },
{ /* sentinel */ }
diff --git a/drivers/net/pse-pd/realtek-pse-mcu.h b/drivers/net/pse-pd/realtek-pse-mcu.h
index d75e91669b8f..5e31dd0993dd 100644
--- a/drivers/net/pse-pd/realtek-pse-mcu.h
+++ b/drivers/net/pse-pd/realtek-pse-mcu.h
@@ -88,6 +88,7 @@ struct rtpse_mcu_ctrl {
int rtpse_mcu_register(struct rtpse_mcu_ctrl *pse);
extern const struct rtpse_mcu_match_data rtpse_mcu_gen1_data;
+extern const struct rtpse_mcu_match_data rtpse_mcu_gen1_i2c_data;
extern const struct rtpse_mcu_match_data rtpse_mcu_gen2_data;
extern const struct rtpse_mcu_match_data rtpse_mcu_gen2_i2c_data;
diff --git a/drivers/net/pse-pd/si3474.c b/drivers/net/pse-pd/si3474.c
index 1845b9c51cf7..efb0af041599 100644
--- a/drivers/net/pse-pd/si3474.c
+++ b/drivers/net/pse-pd/si3474.c
@@ -516,10 +516,8 @@ static int si3474_i2c_probe(struct i2c_client *client)
return PTR_ERR(priv->client[1]);
ret = devm_add_action_or_reset(dev, si3474_ancillary_i2c_remove, priv->client[1]);
- if (ret < 0) {
- dev_err(&priv->client[1]->dev, "Cannot register remove callback\n");
+ if (ret)
return ret;
- }
ret = i2c_smbus_read_byte_data(priv->client[1], VENDOR_IC_ID_REG);
if (ret < 0) {
@@ -541,10 +539,9 @@ static int si3474_i2c_probe(struct i2c_client *client)
priv->pcdev.nr_lines = SI3474_MAX_CHANS;
ret = devm_pse_controller_register(dev, &priv->pcdev);
- if (ret) {
- dev_err(dev, "Failed to register PSE controller: 0x%x\n", ret);
- return ret;
- }
+ if (ret)
+ return dev_err_probe(dev, ret,
+ "Failed to register PSE controller\n");
return 0;
}