alexreinert/piVCCU

Build failure against 6.3

infernix opened this issue · 5 comments

/var/lib/dkms/pivccu/1.0.79/build/rtc-rx8130.c:856:11: error: initialization of ‘int (*)(struct i2c_client *)’ from incompatible pointer type ‘int (*)(struct i2c_client *, const struct i2c_device_id *)’ [-Werror=incompatible-pointer-types]
  856 |  .probe = rx8130_probe,
      |           ^~~~~~~~~~~~

Built fine against 6.2, but not 6.3. Found https://www.spinics.net/lists/linux-next/msg70313.html and applied this:

--- /var/lib/dkms/pivccu/1.0.79/build/rtc-rx8130.c	2023-02-21 04:22:23.000000000 +0100
+++ rtc-rx8130.c	2023-05-01 11:55:00.899964691 +0200
@@ -737,8 +737,9 @@
 // Todo: - maybe change kzalloc to use devm_kzalloc
 //       -
 //----------------------------------------------------------------------
-static int rx8130_probe(struct i2c_client *client, const struct i2c_device_id *id)
+static int rx8130_probe(struct i2c_client *client)
 {
+	const struct i2c_device_id *id = i2c_client_get_device_id(client);
 	struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent);
 	struct rx8130_data *rx8130;
 	int err, need_reset = 0;
@@ -853,7 +854,7 @@
 		.of_match_table = of_match_ptr(rx8130_of_match),
 		.owner = THIS_MODULE,
 	},
-	.probe = rx8130_probe,
+	.probe_new = rx8130_probe,
 	.remove = rx8130_remove,
 	.id_table = rx8130_id,
 };

But not sure if correct :)

Which Debian based distribution has already a 6.3 kernel?

no idea. I'm building vanilla upstream kernels since 1997 ;)

Ok. This project is built for debian based system, so there is no rush.

As Debian Experimental has now a kernel 6.3 I was able to do some changes for compatibility with Kernel 6.3.

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.