You are not logged in.

#1 2020-03-24 16:08:08

ck2katArchL
Member
Registered: 2020-03-23
Posts: 1

tbsecp3-driver-git-dkms r20190204.054540.aab6f8f will not rebuild

This package will not re-build/re-install after performing a; 'pacman -Syu' yesterday. During this upgrade, my linux-hardened kernel was updated from 5.4.25.a-2 to 5.5.11.a-1 .
I had a similar 'DKMS' problem with the AUR package; zfs-dkms 0.8.3, but I seemed to have solved that with a; 'git pull' and; 'makepkg -cis' in my AUR-package build area for zfs-dkms. However this method has not been successful with the tbsecp3-driver.
According to the DKMS make.log file for this package, there is a compilation error in the; dvb-frontends/mn88436.c source file at line; 1386.  Snippets from the log read;

/var/lib/dkms/tbsecp3-driver-git/r20200125.173120.b27101d/build/dvb-frontends/mn88436.c: In function ‘mn88436_probe’:
/var/lib/dkms/tbsecp3-driver-git/r20200125.173120.b27101d/build/dvb-frontends/mn88436.c:1386:19: error: implicit declaration of function ‘i2c_new_dummy’ [-Werror=implicit-function-declaration]
 1386 |  dev->client[1] = i2c_new_dummy(client->adapter,0x10);
      |                   ^~~~~~~~~~~~~
/var/lib/dkms/tbsecp3-driver-git/r20200125.173120.b27101d/build/dvb-frontends/mn88436.c:1386:17: warning: assignment to ‘struct i2c_client *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
 1386 |  dev->client[1] = i2c_new_dummy(client->adapter,0x10);
      |                 ^
....
....
cc1: some warnings being treated as errors
make[1]: *** [scripts/Makefile.build:266: /var/lib/dkms/tbsecp3-driver-git/r20200125.173120.b27101d/build/dvb-frontends/mn88436.o] Error 1
....
....

I am a complete novice to Linux and to ArchLinux in particular. So, unfortunately, I cannot progress this matter any further on my own. Is anyone else able to pick this up and help to re-create a loadable tbsecp3-driver?
Thank you

Offline

#2 2020-03-24 17:46:20

loqs
Member
Registered: 2014-03-06
Posts: 10,068

Re: tbsecp3-driver-git-dkms r20190204.054540.aab6f8f will not rebuild

i2c_new_dummy() was removed with https://github.com/torvalds/linux/commi … 415344fb87

Does the following patch work?

diff --git a/PKGBUILD b/PKGBUILD
index 32b2a75..7f9179a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,10 +2,10 @@
 
 _pkgbase=tbsecp3-driver-git
 pkgname=${_pkgbase}-dkms
-pkgver=r20190204.054540.aab6f8f
+pkgver=r20200125.173120.b27101d
 pkgrel=1
 pkgdesc="TBSECP3 driver - standalone version (DKMS)"
-arch=('i686' 'x86_64')
+arch=('any')
 url="https://github.com/AlexanderS/tbsecp3-driver"
 license=('GPL2')
 makedepends=('git')
@@ -13,15 +13,22 @@ depends=('dkms')
 conflicts=("${_pkgbase}" 'tbs-dvb-drivers' 'tbs-linux_media-git-dkms' 'tbs-linux_media-git')
 provides=("${_pkgbase}")
 source=('git+https://github.com/AlexanderS/tbsecp3-driver.git'
-        'dkms.conf')
+        'dkms.conf'
+        'patch.diff')
 sha256sums=('SKIP'
-            'd168c144f7dd80dd33c961b9f1e0cbeaf34e3df155ce457aa508ee786a4958ae')
+            'd168c144f7dd80dd33c961b9f1e0cbeaf34e3df155ce457aa508ee786a4958ae'
+            'a1c1587754e10ab88e0c75b7405c22daa35c27693c014cc1b2858e02b095374d')
 
 pkgver() {
     cd "$srcdir/tbsecp3-driver"
     printf "r%s.%s" "$(git show -s --date=format:'%Y%m%d.%H%M%S' --format=%cd)" "$(git rev-parse --short HEAD)"
 }
 
+prepare() {
+    cd tbsecp3-driver
+    patch -p1 -i ../patch.diff
+}
+
 package() {
     # Copy dkms.conf
     install -Dm644 "${srcdir}/dkms.conf" "${pkgdir}/usr/src/${_pkgbase}-${pkgver}/dkms.conf"
diff --git a/patch.diff b/patch.diff
new file mode 100644
index 0000000..1be4877
--- /dev/null
+++ b/patch.diff
@@ -0,0 +1,17 @@
+diff --git a/dvb-frontends/mn88436.c b/dvb-frontends/mn88436.c
+index a2045f3..c88810e 100644
+--- a/dvb-frontends/mn88436.c
++++ b/dvb-frontends/mn88436.c
+@@ -1383,9 +1383,9 @@ static int mn88436_probe(struct i2c_client *client ,
+ 		goto err_regmap_0_regmap_exit;
+ 
+ 	/*chip has two IIC address for different register bank, 0x18 and 0x10,so we need register a dummy clients */
+-	dev->client[1] = i2c_new_dummy(client->adapter,0x10);
+-	if(!dev->client[1]){
+-		ret = -ENODEV;
++	dev->client[1] = i2c_new_dummy_device(client->adapter,0x10);
++	if (IS_ERR(dev->client[1])){
++		ret = PTR_ERR(dev->client[1]);
+ 		dev_err(&client->dev,"I2C registeration failed\n");
+ 		if(ret)
+ 			goto err_regmap_0_regmap_exit;

Offline

Board footer

Powered by FluxBB