View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000541 | channel: elrepo/el7 | --elrepo--request-for-enhancement-- | public | 2014-12-21 16:51 | 2017-01-10 16:52 |
Reporter | burakkucat | Assigned To | burakkucat | ||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | closed | Resolution | not fixable | ||
Summary | 0000541: Please provide a rr174x kmod package for EL7 | ||||
Description | As summary, above. Currently the following files are provided, giving support for EL5 & EL6 users -- elrepo/el5/i386/RPMS/kmod-rr174x-2.4-2.el5.elrepo.i686.rpm elrepo/el5/i386/RPMS/kmod-rr174x-PAE-2.4-2.el5.elrepo.i686.rpm elrepo/el5/i386/RPMS/kmod-rr174x-xen-2.4-2.el5.elrepo.i686.rpm elrepo/el5/SRPMS/rr174x-kmod-2.4-2.el5.elrepo.src.rpm elrepo/el5/x86_64/RPMS/kmod-rr174x-2.4-2.el5.elrepo.x86_64.rpm elrepo/el5/x86_64/RPMS/kmod-rr174x-xen-2.4-2.el5.elrepo.x86_64.rpm elrepo/el6/i386/RPMS/kmod-rr174x-2.4-1.el6.elrepo.i686.rpm elrepo/el6/SRPMS/rr174x-kmod-2.4-1.el6.elrepo.src.rpm elrepo/el6/x86_64/RPMS/kmod-rr174x-2.4-1.el6.elrepo.x86_64.rpm Original request made by Leon Fauster on the ELRepo Users' mailing list [1]. [1] http://lists.elrepo.org/pipermail/elrepo/2014-December/002452.html | ||||
Tags | No tags attached. | ||||
Attached Files | RR64xl-Linux-Src-v1.3-130325-0207.patch (6,984 bytes)
# Adaptation from # http://www.highpoint-tech.com/BIOS_Driver/RR64xL/Linux/RR64xl-Linux-Src-v1.3-130325-0207.tar.gz # -- # LF --- inc/linux/Makefile.def.org 2009-10-09 08:34:40.000000000 +0200 +++ inc/linux/Makefile.def 2014-12-25 12:38:34.000000000 +0100 @@ -74,19 +74,30 @@ KERNELDIR := /lib/modules/$(shell uname -r)/build endif -KERNEL_VER := 2.$(shell expr `grep LINUX_VERSION_CODE $(KERNELDIR)/include/linux/version.h | cut -d\ -f3` / 256 % 256) +VERSION_H := $(shell sh -c " \ +if test -f $(KERNELDIR)/include/linux/version.h; then \ + echo $(KERNELDIR)/include/linux/version.h; \ +elif test -f $(KERNELDIR)/include/generated/uapi/linux/version.h; then \ + echo $(KERNELDIR)/include/generated/uapi/linux/version.h; \ +fi") + +MAJOR := $(shell expr `grep LINUX_VERSION_CODE $(VERSION_H) | cut -d\ -f3` / 65536 % 65536) +MINOR := $(shell expr `grep LINUX_VERSION_CODE $(VERSION_H) | cut -d\ -f3` / 256 % 256) +KERNEL_VER := $(MAJOR).$(MINOR) ifeq ($(KERNEL_VER),) $(error Cannot find kernel version. Check $(KERNELDIR)/include/linux/version.h.) endif +ifneq ($(MAJOR), 3) ifneq ($(KERNEL_VER), 2.6) ifneq ($(KERNEL_VER), 2.4) -$(error Only kernel 2.4/2.6 is supported but you use $(KERNEL_VER)) +$(error Only kernel 2.4/2.6/3.x is supported but you use $(KERNEL_VER)) +endif endif endif -ifeq ($(KERNEL_VER), 2.6) +ifneq ($(KERNEL_VER), 2.4) TARGET := $(TARGETNAME).ko --- osm/linux/osm_linux.h.org 2009-10-09 08:34:41.000000000 +0200 +++ osm/linux/osm_linux.h 2013-03-24 19:07:35.000000000 +0100 @@ -1,4 +1,4 @@ -/* $Id: osm_linux.h,v 1.25 2009/07/16 01:15:17 zsf Exp $ +/* $Id: osm_linux.h,v 1.26r 2010/05/11 03:09:27 lcn Exp $ * * HighPoint RAID Driver for Linux * Copyright (C) 2005 HighPoint Technologies, Inc. All Rights Reserved. @@ -6,13 +6,15 @@ #ifndef _OSM_LINUX_H #define _OSM_LINUX_H +#include <linux/version.h> + /* system headers */ +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38) #ifndef AUTOCONF_INCLUDED #include <linux/config.h> #endif - -#include <linux/version.h> +#endif #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)) && defined(MODVERSIONS) #include <linux/modversions.h> --- osm/linux/os_linux.c.org 2009-10-09 08:34:41.000000000 +0200 +++ osm/linux/os_linux.c 2014-12-25 12:50:09.000000000 +0100 @@ -1,4 +1,4 @@ -/* $Id: os_linux.c,v 1.33 2009/02/18 01:26:29 zsf Exp $ +/* $Id: os_linux.c,v 1.36r 2010/06/01 01:42:36 lcn Exp $ * * HighPoint RAID Driver for Linux * Copyright (C) 2005 HighPoint Technologies, Inc. All Rights Reserved. @@ -78,7 +78,7 @@ microseconds -= 1000; } udelay(microseconds); -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) && defined(__x86_64__) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) && defined(__x86_64__)) || (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18)) touch_nmi_watchdog(); #endif } @@ -191,6 +191,11 @@ list->head = p; } +BUS_ADDRESS get_dmapool_phy_addr(void *osext, void * dmapool_virt_addr) +{ + return (BUS_ADDRESS)virt_to_bus(dmapool_virt_addr); +} + #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,18)) && defined(CONFIG_HIGHMEM) void *os_kmap_sgptr(PSG psg) { @@ -198,7 +203,11 @@ if (page) return (PageHighMem(page)? +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0) + (char *)kmap_atomic(page) : +#else (char *)kmap_atomic(page, HPT_KMAP_TYPE) : +#endif (char *)page_address(page)) + (psg->addr.bus & 0xffffffff); else @@ -208,7 +217,11 @@ void os_kunmap_sgptr(void *ptr) { if ((HPT_UPTR)ptr >= (HPT_UPTR)high_memory) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0) + kunmap_atomic(ptr); +#else kunmap_atomic(ptr, HPT_KMAP_TYPE); +#endif } #else void *os_kmap_sgptr(PSG psg) { return psg->addr._logical; } @@ -259,7 +272,9 @@ for (minor=0; minor<=240; minor+=16) { struct block_device *bdev = bdget(MKDEV(major[i], minor)); if (bdev && -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38) + blkdev_get(bdev, FMODE_READ,NULL) +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28) blkdev_get(bdev, FMODE_READ) #else blkdev_get(bdev, FMODE_READ, 0 __BDEV_RAW) @@ -586,7 +601,7 @@ #endif } -int hpt_dbg_level = 1; +int hpt_dbg_level = 7; #if defined(MODULE) #if LINUX_VERSION_CODE >KERNEL_VERSION(2, 5, 0) module_param(hpt_dbg_level, uint, 0); --- osm/linux/osm_linux.c.org 2009-10-09 08:34:41.000000000 +0200 +++ osm/linux/osm_linux.c 2013-03-24 19:07:35.000000000 +0100 @@ -1,4 +1,4 @@ -/* $Id: osm_linux.c,v 1.80 2009/04/07 03:18:03 zsf Exp $ +/* $Id: osm_linux.c,v 1.83r 2010/05/11 03:09:27 lcn Exp $ * * HighPoint RAID Driver for Linux * Copyright (C) 2005 HighPoint Technologies, Inc. All Rights Reserved. @@ -9,7 +9,7 @@ MODULE_AUTHOR ("HighPoint Technologies, Inc."); MODULE_DESCRIPTION ("RAID driver"); -static int autorebuild = 0; +static int autorebuild = 1; /* 1: autorebuild, 0: not */ #if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0) module_param(autorebuild, int, 0); #else @@ -447,7 +449,11 @@ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) struct scatterlist *sg; sg = scsi_sglist(cmd); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0) + *pbuf = kmap_atomic(HPT_SG_PAGE(sg)) + sg->offset; +#else *pbuf = kmap_atomic(HPT_SG_PAGE(sg), HPT_KMAP_TYPE) + sg->offset; +#endif buflen = sg->length; #else @@ -477,7 +483,11 @@ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23) struct scatterlist *sg; sg = scsi_sglist(cmd); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0) + kunmap_atomic((char *)buf - sg->offset); +#else kunmap_atomic((char *)buf - sg->offset, HPT_KMAP_TYPE); +#endif #else if (cmd->use_sg) { @@ -870,12 +880,15 @@ } ldm_free_cmds(pCmd); - KdPrint(("scsi_done(%p)", SCpnt)); + KdPrint(("<8>scsi_done(%p)", SCpnt)); SCpnt->scsi_done(SCpnt); } } - +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,37) static int hpt_queuecommand (Scsi_Cmnd * SCpnt, void (*done) (Scsi_Cmnd *)) +#else +static int hpt_queuecommand_lck (Scsi_Cmnd * SCpnt, void (*done) (Scsi_Cmnd *)) +#endif { struct Scsi_Host *phost = sc_host(SCpnt); PVBUS_EXT vbus_ext = get_vbus_ext(phost); @@ -905,7 +918,7 @@ pVDev = ldm_find_target(vbus, sc_target(SCpnt)); if (pVDev == NULL || pVDev->vf_online == 0) { - SCpnt->result = DID_NO_CONNECT; + SCpnt->result = (DID_NO_CONNECT << 16); goto cmd_done; } @@ -1404,11 +1417,15 @@ break; } cmd_done: - KdPrint(("scsi_done(%p)", SCpnt)); + KdPrint(("<8>scsi_done(%p)", SCpnt)); SCpnt->scsi_done(SCpnt); return 0; } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) +static DEF_SCSI_QCMD(hpt_queuecommand) +#endif + static int hpt_reset (Scsi_Cmnd *SCpnt) { PVBUS_EXT vbus_ext = get_vbus_ext(sc_host(SCpnt)); @@ -1822,6 +1839,7 @@ HPT_U16 copydata = 0; IOCTL_ARG ioctl_arg; IDE_PASS_THROUGH_HEADER ide_passthrough_header; + PIDENTIFY_DATA pIdentify; memset(&ioctl_arg, 0, sizeof(ioctl_arg)); memset(&ide_passthrough_header, 0, sizeof(ide_passthrough_header)); | ||||
Reported upstream | |||||
|
Unfortunately the source code does not build against any kernel > 2.6.x [Build64R7 SPECS]$ rpmbuild -bc rr174x-kmod.spec Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.c3YUqf + umask 022 + cd /home/ajb/rpmbuild/BUILD + cd /home/ajb/rpmbuild/BUILD + rm -rf rr174x-linux-src-v2.4 + /usr/bin/gzip -dc /home/ajb/rpmbuild/SOURCES/rr174x-linux-src-v2.4-091009-1434.tar.gz + /usr/bin/tar -xf - + STATUS=0 + '[' 0 -ne 0 ']' + cd rr174x-linux-src-v2.4 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/bin/cp -a /home/ajb/rpmbuild/SOURCES/ELRepo-rr174x-modules rr174x.modules + echo 'override rr174x * weak-updates/rr174x' + echo 'blacklist sata_mv' + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.MFocDO + umask 022 + cd /home/ajb/rpmbuild/BUILD + cd rr174x-linux-src-v2.4 + KSRC=/usr/src/kernels/3.10.0-123.el7.x86_64 + pushd product/rr1740pm/linux + /usr/bin/make KERNELDIR=/usr/src/kernels/3.10.0-123.el7.x86_64 -j2 grep: /usr/src/kernels/3.10.0-123.el7.x86_64/include/linux/version.h: No such file or directory expr: syntax error ../../../inc/linux/Makefile.def:85: *** Only kernel 2.4/2.6 is supported but you use 2.. Stop. error: Bad exit status from /var/tmp/rpm-tmp.MFocDO (%build) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.MFocDO (%build) [Build64R7 SPECS]$ |
|
Attached patch file (RR64xl-Linux-Src-v1.3-130325-0207.patch) offered by Leon Fauster. |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-12-21 16:51 | burakkucat | New Issue | |
2014-12-21 16:51 | burakkucat | Status | new => assigned |
2014-12-21 16:51 | burakkucat | Assigned To | => toracat |
2014-12-21 16:52 | burakkucat | Assigned To | toracat => burakkucat |
2014-12-22 10:34 | burakkucat | Note Added: 0004121 | |
2014-12-25 06:48 | burakkucat | File Added: RR64xl-Linux-Src-v1.3-130325-0207.patch | |
2014-12-25 06:50 | burakkucat | Note Added: 0004125 | |
2017-01-10 16:52 | burakkucat | Severity | minor => feature |
2017-01-10 16:52 | burakkucat | Status | assigned => closed |
2017-01-10 16:52 | burakkucat | Resolution | open => not fixable |