!17 PMC8222 driver merge to Next branch
From: @Victor_zhang22221111 Reviewed-by: @superninesun Signed-off-by: @superninesun
This commit is contained in:
commit
a1c4f53324
@ -0,0 +1,30 @@
|
||||
From aecfa96b98be1bdc9562cf912c7497dd241cd9b8 Mon Sep 17 00:00:00 2001
|
||||
From: Hao Zhang <Hao.Zhang@windriver.com>
|
||||
Date: Mon, 24 Jul 2023 15:58:03 +0800
|
||||
Subject: [PATCH] Support PMC8222 driver build for OpenEuler-2203 version.
|
||||
|
||||
This patch is referred from src/Makefile.alt.
|
||||
|
||||
Signed-off-by: Hao Zhang <Hao.Zhang@windriver.com>
|
||||
---
|
||||
Makefile | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 8e7196c..3c4cadb 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -103,6 +103,10 @@ OSVENDOR := $(shell \
|
||||
$(KVER_SHORT) = "4.19" ]; \
|
||||
then \
|
||||
echo "OEULER2003"; \
|
||||
+ elif [ -n "`grep 'release 22.03' /etc/openEuler-release`" -a \
|
||||
+ $(KVER_SHORT) = "5.10" ]; \
|
||||
+ then \
|
||||
+ echo "OEULER2203"; \
|
||||
fi; \
|
||||
elif [ -f /etc/os-release ]; \
|
||||
then \
|
||||
--
|
||||
2.33.0
|
||||
|
||||
1
Module.supported
Normal file
1
Module.supported
Normal file
@ -0,0 +1 @@
|
||||
smartpqi.ko external
|
||||
233
SmartHBA-2100-8i-driver.spec
Normal file
233
SmartHBA-2100-8i-driver.spec
Normal file
@ -0,0 +1,233 @@
|
||||
%define name smartpqi
|
||||
%define version 2.1.22
|
||||
%define release 040
|
||||
%define kernel `rpm -q kernel-devel|cut -d - -f 3,4`
|
||||
Summary: Microchip smartpqi driver for SmartRAID/SmartHBA controllers
|
||||
Name: %{name}
|
||||
Version: %{version}
|
||||
Release: %{release}
|
||||
Vendor: Microchip Technology Inc.
|
||||
License: GPLv2
|
||||
Group: System Environment/Kernel
|
||||
Source0: %{name}-%{version}-040.tar.bz2
|
||||
Source1: Module.supported
|
||||
Source2: %{name}-fromsrc.conf
|
||||
URL: http://www.microchip.com
|
||||
Distribution: Microchip Technology Inc.
|
||||
BuildRoot: /var/tmp/%{name}-buildroot
|
||||
BuildRequires: gcc make kernel-devel kernel-headers kernel
|
||||
|
||||
%define debug_package %{nil}
|
||||
|
||||
Patch0: 0001-Support-PMC8222-driver-build-for-OpenEuler-2203-vers.patch
|
||||
|
||||
%description
|
||||
Driver for Microchip Technology SmartRAID and SmartHBA controllers
|
||||
|
||||
# prep #########################################################################
|
||||
%prep
|
||||
echo prep %{version}-%{release}
|
||||
%setup -c -b 0
|
||||
%patch0 -p1 -b 0001-Support-PMC8222-driver-build-for-OpenEuler-2203-vers.patch
|
||||
cp %_sourcedir/Module.supported src/Module.supported
|
||||
|
||||
|
||||
# build ########################################################################
|
||||
%build
|
||||
echo build %{version}-%{release}
|
||||
make build KERNEL=%{kernel} KVER=`rpm -q kernel-devel|cut -d - -f 3,4`;
|
||||
|
||||
# install ######################################################################
|
||||
%install
|
||||
echo install %{version}-%{release}
|
||||
echo "%defattr(-,root,root)" > $RPM_BUILD_DIR/file.list.%{name}
|
||||
|
||||
SMARTPQI_IPATH=/lib/modules/%{kernel}/weak-updates/smartpqi
|
||||
|
||||
if modinfo smartpqi -n |xargs file |grep -c "compressed" >> /dev/null; then
|
||||
driver_bin="smartpqi.ko.xz"
|
||||
elif [ $(find /lib/modules/%{kernel}/ -name smartpqi.ko.xz*) ]; then
|
||||
driver_bin="smartpqi.ko.xz"
|
||||
else
|
||||
driver_bin="smartpqi.ko"
|
||||
fi
|
||||
|
||||
mkdir -p $RPM_BUILD_ROOT/lib/modules/%{kernel}/weak-updates/smartpqi
|
||||
|
||||
# create the file list used in %files to indicate which files are in package
|
||||
echo "$SMARTPQI_IPATH/${driver_bin}.new" >> $RPM_BUILD_DIR/file.list.%{name}
|
||||
echo "/etc/dracut.conf.d/smartpqi-fromsrc.conf" >> $RPM_BUILD_DIR/file.list.%{name}
|
||||
|
||||
make install PREFIX=$RPM_BUILD_ROOT KERNEL=%{kernel} KVER=`rpm -q kernel-devel|cut -d - -f 3,4`
|
||||
if [ ${driver_bin} == "smartpqi.ko.xz" ]; then
|
||||
xz $RPM_BUILD_ROOT/$SMARTPQI_IPATH/smartpqi.ko
|
||||
fi
|
||||
mv -f $RPM_BUILD_ROOT/$SMARTPQI_IPATH/${driver_bin} \
|
||||
$RPM_BUILD_ROOT/$SMARTPQI_IPATH/${driver_bin}.new
|
||||
chmod 644 $RPM_BUILD_ROOT/$SMARTPQI_IPATH/${driver_bin}.new
|
||||
install -m 644 -D %{SOURCE2} $RPM_BUILD_ROOT/etc/dracut.conf.d/smartpqi-fromsrc.conf
|
||||
|
||||
# pre #########################################################################
|
||||
%pre
|
||||
echo pre %{version}-%{release}
|
||||
system_arch=`uname -m`
|
||||
if [ %{_target_cpu} != ${system_arch} ]; then
|
||||
echo "ERROR: Failed installing this rpm!!!!"
|
||||
echo "This rpm is intended for %{_target_cpu} platform. It seems your system is ${system_arch}.";
|
||||
exit 1;
|
||||
fi;
|
||||
|
||||
# post #########################################################################
|
||||
%post
|
||||
echo post %{version}-%{release}
|
||||
|
||||
if modinfo smartpqi -n |xargs file |grep -c "compressed" >> /dev/null; then
|
||||
driver_bin="smartpqi.ko.xz"
|
||||
elif [ $(find /lib/modules/%{kernel}/ -name smartpqi.ko.xz*) ]; then
|
||||
driver_bin="smartpqi.ko.xz"
|
||||
else
|
||||
driver_bin="smartpqi.ko"
|
||||
fi
|
||||
|
||||
if [ ! -e /boot/vmlinuz-%{kernel} ] && [ ! -e /boot/vmlinux-%{kernel} ]; then
|
||||
continue;
|
||||
fi;
|
||||
|
||||
SMARTPQI_IPATH=/lib/modules/%{kernel}/weak-updates/smartpqi
|
||||
if [ ! -e $SMARTPQI_IPATH/${driver_bin}.new ]; then
|
||||
continue;
|
||||
fi;
|
||||
|
||||
SMARTPQI_ORIG_IPATH=/lib/modules/%{kernel}/kernel/drivers/scsi/smartpqi
|
||||
echo "The smartpqi driver for kernel %{kernel} is now version %{version}-%{release}";
|
||||
cp -f $SMARTPQI_IPATH/${driver_bin}.new $SMARTPQI_IPATH/${driver_bin}
|
||||
|
||||
# Remake the initrd image
|
||||
SMARTPQI_IPATH=/lib/modules/%{kernel}/kernel/drivers/scsi/smartpqi
|
||||
if [ -e $SMARTPQI_IPATH/${driver_bin} ]; then
|
||||
mv $SMARTPQI_IPATH/${driver_bin} \
|
||||
$SMARTPQI_IPATH/${driver_bin}.orig
|
||||
fi;
|
||||
|
||||
SMARTPQI_IPATH=/lib/modules/%{kernel}/updates
|
||||
if [ -e $SMARTPQI_IPATH/${driver_bin} ]; then
|
||||
mv $SMARTPQI_IPATH/${driver_bin} \
|
||||
$SMARTPQI_IPATH/${driver_bin}.orig
|
||||
fi;
|
||||
|
||||
SMARTPQI_IPATH=/lib/modules/%{kernel}/extra/smartpqi
|
||||
if [ -e $SMARTPQI_IPATH/${driver_bin} ]; then
|
||||
mv $SMARTPQI_IPATH/${driver_bin} \
|
||||
$SMARTPQI_IPATH/${driver_bin}.orig
|
||||
fi;
|
||||
|
||||
bootpart=/boot;
|
||||
depmod -v %{kernel} > /dev/null 2>&1;
|
||||
|
||||
|
||||
|
||||
if which mkinitrd |grep -c "mkinitrd" >> /dev/null; then
|
||||
if which mkinitrd |grep -c "no mkinitrd" >> /dev/null ; then
|
||||
module_init_tool="unknown"
|
||||
else
|
||||
module_init_tool="mkinitrd"
|
||||
#SuSE
|
||||
if [ -h /boot/initrd ] ; then
|
||||
mkinitrd -f /boot/initrd-%{kernel} %{kernel}
|
||||
else
|
||||
mkinitrd -f /boot/initramfs-%{kernel}.img %{kernel}
|
||||
fi
|
||||
echo -e "${module_init_tool} post Install Done."
|
||||
exit 0;
|
||||
fi
|
||||
fi
|
||||
|
||||
if which dracut |grep -c "dracut" >> /dev/null; then
|
||||
dracut -f /boot/initramfs-%{kernel}.img %{kernel};
|
||||
echo -e "Install Driver InitramFS Updated.";
|
||||
fi;
|
||||
|
||||
echo -e "post Install Done."
|
||||
|
||||
# postun #######################################################################
|
||||
%postun
|
||||
echo postun %{version}-%{release}
|
||||
|
||||
if modinfo smartpqi -n |xargs file |grep -c "compressed" >> /dev/null; then
|
||||
driver_bin="smartpqi.ko.xz"
|
||||
elif [ $(find /lib/modules/%{kernel}/ -name smartpqi.ko.xz*) ]; then
|
||||
driver_bin="smartpqi.ko.xz"
|
||||
else
|
||||
driver_bin="smartpqi.ko"
|
||||
fi
|
||||
|
||||
SMARTPQI_IPATH=/lib/modules/%{kernel}/weak-updates/smartpqi
|
||||
if [ ! -e $SMARTPQI_IPATH/${driver_bin}.new ] && \
|
||||
[ -e $SMARTPQI_IPATH/${driver_bin} ]; then
|
||||
|
||||
rm -rf $SMARTPQI_IPATH;
|
||||
|
||||
SMARTPQI_IPATH=/lib/modules/%{kernel}/kernel/drivers/scsi/smartpqi
|
||||
if [ -e $SMARTPQI_IPATH/${driver_bin}.orig ]; then
|
||||
mv $SMARTPQI_IPATH/${driver_bin}.orig \
|
||||
$SMARTPQI_IPATH/${driver_bin}
|
||||
fi;
|
||||
|
||||
SMARTPQI_IPATH=/lib/modules/%{kernel}/updates
|
||||
if [ -e $SMARTPQI_IPATH/${driver_bin}.orig ]; then
|
||||
mv $SMARTPQI_IPATH/${driver_bin}.orig \
|
||||
$SMARTPQI_IPATH/${driver_bin}
|
||||
fi;
|
||||
|
||||
SMARTPQI_IPATH=/lib/modules/%{kernel}/extra/smartpqi
|
||||
if [ -e $SMARTPQI_IPATH/${driver_bin}.orig ]; then
|
||||
mv $SMARTPQI_IPATH/${driver_bin}.orig \
|
||||
$SMARTPQI_IPATH/${driver_bin}
|
||||
fi;
|
||||
fi;
|
||||
|
||||
bootpart=/boot;
|
||||
|
||||
if [ ! -f /lib/modules/%{kernel}/kernel/drivers/scsi/smartpqi/${driver_bin} ] && \
|
||||
[ ! -f /lib/modules/%{kernel}/udpates/${driver_bin} ] && \
|
||||
[ ! -f /lib/modules/%{kernel}/weak-updates/smartpqi/${driver_bin} ] && \
|
||||
[ ! -f /lib/modules/%{kernel}/extra/smartpqi/${driver_bin} ]; then
|
||||
sed -e '/smartpqi/d' /etc/modprobe.conf > modprobe.edit;
|
||||
mv -f modprobe.edit /etc/modprobe.conf;
|
||||
fi;
|
||||
|
||||
depmod -v %{kernel} > /dev/null 2>&1;
|
||||
|
||||
|
||||
if which mkinitrd |grep -c "mkinitrd" >> /dev/null; then
|
||||
if which mkinitrd |grep -c "no mkinitrd" >> /dev/null ; then
|
||||
module_init_tool="unknown"
|
||||
else
|
||||
module_init_tool="mkinitrd"
|
||||
#SuSE
|
||||
if [ -h /boot/initrd ] ; then
|
||||
mkinitrd -f /boot/initrd-%{kernel} %{kernel}
|
||||
else
|
||||
mkinitrd -f /boot/initramfs-%{kernel}.img %{kernel}
|
||||
fi
|
||||
echo -e "${module_init_tool} Uninstall Done."
|
||||
exit 0;
|
||||
fi
|
||||
fi;
|
||||
|
||||
if which dracut |grep -c "dracut" >> /dev/null; then
|
||||
dracut -f /boot/initramfs-%{kernel}.img %{kernel};
|
||||
echo -e "Uninstall Driver InitramFS Updated.";
|
||||
fi;
|
||||
|
||||
echo -e "Uninstall Done."
|
||||
|
||||
# files ########################################################################
|
||||
%files -f ../file.list.%{name}
|
||||
|
||||
# changelog ###################################################################
|
||||
%changelog
|
||||
* Thu Jul 27 2023 Siyu Zhang <siyu.zhang@windriver.com> - 2.1.22-040
|
||||
- Port the PMC RAID driver to openeuler.
|
||||
* Thu Sep 15 2023 Siyu Zhang <siyu.zhang@windriver.com> - 2.1.22-040
|
||||
- Add kernel as the build dependence.
|
||||
BIN
smartpqi-2.1.22-040.tar.bz2
Normal file
BIN
smartpqi-2.1.22-040.tar.bz2
Normal file
Binary file not shown.
1
smartpqi-fromsrc.conf
Normal file
1
smartpqi-fromsrc.conf
Normal file
@ -0,0 +1 @@
|
||||
add_drivers+=" smartpqi "
|
||||
Loading…
x
Reference in New Issue
Block a user