[Bookworm] Upgrade centec platforms to Bookworm (#17364)

How I did it
Modified platform driver to comply with bookworm kernel.
Modified python build commands for building whl packages.

How to verify it
Verify whether all the platform bookworm debs are built.
make target/debs/bookworm/platform-modules-v682-48y8c-d_1.0_amd64.deb
Load the platform debian into the device and install it in bookworm image.
Verify the platform related CLI and the functionality

Signed-off-by: centecqianj <qianj@centec.com>
This commit is contained in:
centecqianj 2023-12-02 08:07:52 +08:00 committed by GitHub
parent cec2731647
commit 8db3a99d11
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 19 additions and 20 deletions

View File

@ -1,7 +1,7 @@
dmsetup==2:1.02.175-2.1 dmsetup==2:1.02.175-2.1
iputils-ping==3:20210202-1 iputils-ping==3:20210202-1
keyutils==1.6.1-2 keyutils==1.6.1-2
libdbus-1-dev==1.12.24-0+deb11u1 libdbus-1-dev==1.12.28-0+deb11u1
libdevmapper1.02.1==2:1.02.175-2.1 libdevmapper1.02.1==2:1.02.175-2.1
libdpkg-perl==1.20.12 libdpkg-perl==1.20.12
libevent-2.1-7==2.1.12-stable-1 libevent-2.1-7==2.1.12-stable-1

View File

@ -48,7 +48,7 @@ build:
(for mod in $(MODULE_DIRS); do \ (for mod in $(MODULE_DIRS); do \
make modules -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR)/$${mod}/modules; \ make modules -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR)/$${mod}/modules; \
cd $${mod}; \ cd $${mod}; \
python3 setup.py bdist_wheel -d $(MOD_SRC_DIR)/$${mod}/modules; \ python3 -m build --wheel --no-isolation --outdir $(MOD_SRC_DIR)/$${mod}/modules; \
cd -; \ cd -; \
done) done)

View File

@ -535,14 +535,13 @@ fail_cleanup:
return ret; return ret;
} }
static int pca954x_remove(struct i2c_client *client) static void pca954x_remove(struct i2c_client *client)
{ {
struct i2c_mux_core *muxc = i2c_get_clientdata(client); struct i2c_mux_core *muxc = i2c_get_clientdata(client);
device_remove_file(&client->dev, &dev_attr_idle_state); device_remove_file(&client->dev, &dev_attr_idle_state);
pca954x_cleanup(muxc); pca954x_cleanup(muxc);
return 0;
} }
#ifdef CONFIG_PM_SLEEP #ifdef CONFIG_PM_SLEEP

View File

@ -210,7 +210,7 @@ sd2405_probe(struct i2c_client *client, const struct i2c_device_id *id)
if (IS_ERR(rtc)) if (IS_ERR(rtc))
return PTR_ERR(rtc); return PTR_ERR(rtc);
rtc->ops = &sd2405_rtc_ops; rtc->ops = &sd2405_rtc_ops;
ret = rtc_register_device(rtc); ret = devm_rtc_register_device(rtc);
if (ret) if (ret)
return ret; return ret;

View File

@ -1935,10 +1935,10 @@ int linux_dal_pcie_probe(struct pci_dev* pdev, const struct pci_device_id* id)
pdev->vendor, pdev->device); pdev->vendor, pdev->device);
} }
ret = pci_set_dma_mask(pdev, DMA_BIT_MASK(64)); ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
if (ret) if (ret)
{ {
ret = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
if (ret) if (ret)
{ {
printk("Could not set PCI DMA Mask\n"); printk("Could not set PCI DMA Mask\n");

View File

@ -1,3 +1,3 @@
KBUILD_EXTRA_SYMBOLS = /sonic/platform/centec-arm64/sonic-platform-modules-e530/pca954x/Module.symvers KBUILD_EXTRA_SYMBOLS = /sonic/platform/centec/sonic-platform-modules-e582/pca954x/Module.symvers
obj-m := centec_e582_48x2q4z_platform.o obj-m := centec_e582_48x2q4z_platform.o

View File

@ -6,21 +6,23 @@ KVERSION ?= $(shell uname -r)
KERNEL_SRC := /lib/modules/$(KVERSION) KERNEL_SRC := /lib/modules/$(KVERSION)
MOD_SRC_DIR:= $(shell pwd) MOD_SRC_DIR:= $(shell pwd)
MODULE_DIRS:= 48x6q 48x2q4z MODULE_DIRS:= 48x6q 48x2q4z
PCA954X_DIR := pca954x KDAL_DIR := centec-dal/
PCA954X_DIR := pca954x/
%: %:
dh $@ dh $@
override_dh_auto_build: override_dh_auto_build:
(for mod in $(MODULE_DIRS); do \ cp ../../centec/centec-dal/ $(MOD_SRC_DIR)/$(KDAL_DIR) -rf
make -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR)/$${mod}/modules; \ (for mod in $(KDAL_DIR); do \
make modules -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR)/$${mod}/; \
done) done)
(for mod in $(PCA954X_DIR); do \ (for mod in $(PCA954X_DIR); do \
make modules -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR)/$${mod}/; \ make modules -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR)/$${mod}/; \
done) done)
rm $(MOD_SRC_DIR)/centec-dal -rf (for mod in $(MODULE_DIRS); do \
cp $(MOD_SRC_DIR)/../centec-dal $(MOD_SRC_DIR)/centec-dal -rf make -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR)/$${mod}/modules; \
make -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR)/centec-dal done)
override_dh_auto_install: override_dh_auto_install:
(for mod in $(MODULE_DIRS); do \ (for mod in $(MODULE_DIRS); do \
@ -41,7 +43,6 @@ override_dh_clean:
rm -rf $(MOD_SRC_DIR)/$${mod}/modules/*.ko; \ rm -rf $(MOD_SRC_DIR)/$${mod}/modules/*.ko; \
rm -rf debian/platform-modules-e582-$${mod}/$(KERNEL_SRC)/$(INSTALL_MOD_DIR)/*.ko; \ rm -rf debian/platform-modules-e582-$${mod}/$(KERNEL_SRC)/$(INSTALL_MOD_DIR)/*.ko; \
done) done)
make -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR)/centec-dal clean; \
rm -rf $(MOD_SRC_DIR)/centec-dal/*.ko; \ rm -rf $(MOD_SRC_DIR)/centec-dal/*.ko; \
rm $(MOD_SRC_DIR)/centec-dal -rf rm $(MOD_SRC_DIR)/centec-dal -rf

View File

@ -535,14 +535,13 @@ fail_cleanup:
return ret; return ret;
} }
static int pca954x_remove(struct i2c_client *client) static void pca954x_remove(struct i2c_client *client)
{ {
struct i2c_mux_core *muxc = i2c_get_clientdata(client); struct i2c_mux_core *muxc = i2c_get_clientdata(client);
device_remove_file(&client->dev, &dev_attr_idle_state); device_remove_file(&client->dev, &dev_attr_idle_state);
pca954x_cleanup(muxc); pca954x_cleanup(muxc);
return 0;
} }
#ifdef CONFIG_PM_SLEEP #ifdef CONFIG_PM_SLEEP

View File

@ -229,7 +229,7 @@ sd2405_probe(struct i2c_client *client, const struct i2c_device_id *id)
i2c_set_clientdata(client, rtc); i2c_set_clientdata(client, rtc);
rtc->ops = &sd2405_rtc_ops; rtc->ops = &sd2405_rtc_ops;
return rtc_register_device(rtc); return devm_rtc_register_device(rtc);
} }
static struct i2c_device_id sd2405_id[] = { static struct i2c_device_id sd2405_id[] = {

View File

@ -229,7 +229,7 @@ sd2405_probe(struct i2c_client *client, const struct i2c_device_id *id)
i2c_set_clientdata(client, rtc); i2c_set_clientdata(client, rtc);
rtc->ops = &sd2405_rtc_ops; rtc->ops = &sd2405_rtc_ops;
return rtc_register_device(rtc); return devm_rtc_register_device(rtc);
} }
static struct i2c_device_id sd2405_id[] = { static struct i2c_device_id sd2405_id[] = {

View File

@ -41,7 +41,7 @@ build:
(for mod in $(MODULE_DIRS); do \ (for mod in $(MODULE_DIRS); do \
make modules -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR)/$${mod}/modules; \ make modules -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR)/$${mod}/modules; \
cd $${mod}; \ cd $${mod}; \
python3 setup.py bdist_wheel -d $(MOD_SRC_DIR)/$${mod}/modules; \ python3 -m build --wheel --no-isolation --outdir $(MOD_SRC_DIR)/$${mod}/modules; \
cd -; \ cd -; \
done) done)
# third party driver for cpu card # third party driver for cpu card