Some problems with kernel module und device tree..
#1
Hello guys,

I'm developing a kernel driver for a MOST NIC and have got some problems by reading the chip configuration from device tree.

Here is the configuration:

Code:
&i2c2 { pinctrl-names = "default"; pinctrl-0 = <&i2c2_pins_a>; status = "okay"; os8104: os8104@41 { compatible = "smsc,os8104"; reg = <0x41>; master = <0>; bypass = <0>; gpio_reset = <&pio 8 17>; /* PI17 */ gpio_int = <&pio 8 16>; /* PI16 */ gpio_aint = <&pio 8 19>; /* PI19 */ gpio_error = <&pio 8 18>; /* PI18 */ }; };

My NIC (os8104) is connected to i2c-2. 

And here is the corresponding code in LKM:

Code:
static int os8104_probe(struct i2c_client *client, const struct i2c_device_id *id) { struct device_node *dn; int rc; int master = 0, bypass = 0; struct os8104 *priv; dn = of_find_node_by_name(NULL, os8104_driver.driver.name); if (dn == NULL) { return -ENODEV; } rc = of_property_read_u32(dn, "master", &master); pr_err("rc = %d, master = %11d\n", rc, master); rc = of_property_read_u32(dn, "bypass", &bypass); pr_err("rc = %d, bypass = %11d\n", rc, bypass); priv = devm_kzalloc(&client->dev, sizeof(*priv), GFP_KERNEL); if (!priv) { return -ENOMEM; } priv->adapter = to_i2c_adapter(client->dev.parent); priv->client = client; priv->mode = val; priv->gpio_reset = of_get_named_gpio(dn, "gpio_reset", 0); priv->gpio_int = of_get_named_gpio(dn, "gpio_int", 0); priv->gpio_aint = of_get_named_gpio(dn, "gpio_aint", 0); priv->gpio_error = of_get_named_gpio(dn, "gpio_error", 0); return 0; }

If I'm loading the module, the function of_find_node_by_name find my os8104 node, then I'm able to read the both properties (master and bypass). 

But, if I do an of_get_named_gpio(dn, "gpio_reset", 0), I get for each of four gpio-properties

Quote:[ 1610.330108] OF: /soc@01c00000/i2c@01c2b400/os8104@41: arguments longer than property

in dmesg.

Any ideas?

Kernel version is 4.14.39 and SBC is a BananaPRO (Allwinner A20 SoC).

Many thanks. Smile


Possibly Related Threads…
Thread Author Replies Views Last Post
  Star64/Starpro64 kernel building global 1 3,192 06-30-2026, 12:17 PM
Last Post: tgbgreen
  Advice on Choosing the Best Pine64 Device for My Use Case? Ingrid 4 5,995 02-28-2025, 01:14 AM
Last Post: stefan_hdb
  Lots of problems with pinebuds elix 1 3,397 07-20-2023, 06:51 PM
Last Post: elix
  Does pinephone allow you to repair your own device as easily as fairphone? unix21311 3 6,266 11-06-2022, 10:37 PM
Last Post: Harolddavies0
  LTE module for pine64 products stoiqman 1 3,180 10-18-2022, 12:45 PM
Last Post: poVoq
  Forum account problems diederik 3 6,403 11-19-2021, 02:44 PM
Last Post: Arwen
  E-Note Device (E-Ink, E-Paper, Project Idea) Sirius 9 17,568 08-18-2021, 08:28 AM
Last Post: biketool
  cheese camera device not found savcvet 2 5,287 07-04-2021, 05:10 AM
Last Post: Arwen
  Building Kernel App for fast GPIO nimblemotors 0 2,668 05-21-2021, 11:56 PM
Last Post: nimblemotors
  Which SBC to chose for kernel compiling roel 1 4,079 12-26-2020, 08:24 AM
Last Post: lanefu

Forum Jump:


Users browsing this thread: 1 Guest(s)