Commit c7f47602 authored by Mark Haverkamp's avatar Mark Haverkamp Committed by James Bottomley

[SCSI] aacraid: driver version update

Received from Mark Salyzyn from Adaptec.

Fixes a bug in check_revision.  It should return the driver version not
the firmware version.
Update driver version number.
Update driver version string.
Signed-off-by: default avatarMark Haverkamp <markh@osdl.org>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent bed30de4
...@@ -1512,11 +1512,12 @@ struct fib_ioctl ...@@ -1512,11 +1512,12 @@ struct fib_ioctl
struct revision struct revision
{ {
u32 compat; __le32 compat;
u32 version; __le32 version;
u32 build; __le32 build;
}; };
/* /*
* Ugly - non Linux like ioctl coding for back compat. * Ugly - non Linux like ioctl coding for back compat.
*/ */
...@@ -1737,3 +1738,4 @@ int aac_get_adapter_info(struct aac_dev* dev); ...@@ -1737,3 +1738,4 @@ int aac_get_adapter_info(struct aac_dev* dev);
int aac_send_shutdown(struct aac_dev *dev); int aac_send_shutdown(struct aac_dev *dev);
extern int numacb; extern int numacb;
extern int acbsize; extern int acbsize;
extern char aac_driver_version[];
...@@ -405,10 +405,20 @@ static int close_getadapter_fib(struct aac_dev * dev, void __user *arg) ...@@ -405,10 +405,20 @@ static int close_getadapter_fib(struct aac_dev * dev, void __user *arg)
static int check_revision(struct aac_dev *dev, void __user *arg) static int check_revision(struct aac_dev *dev, void __user *arg)
{ {
struct revision response; struct revision response;
char *driver_version = aac_driver_version;
response.compat = 1; u32 version;
response.version = le32_to_cpu(dev->adapter_info.kernelrev);
response.build = le32_to_cpu(dev->adapter_info.kernelbuild); response.compat = cpu_to_le32(1);
version = (simple_strtol(driver_version,
&driver_version, 10) << 24) | 0x00000400;
version += simple_strtol(driver_version + 1, &driver_version, 10) << 16;
version += simple_strtol(driver_version + 1, NULL, 10);
response.version = cpu_to_le32(version);
# if (defined(AAC_DRIVER_BUILD))
response.build = cpu_to_le32(AAC_DRIVER_BUILD);
# else
response.build = cpu_to_le32(9999);
# endif
if (copy_to_user(arg, &response, sizeof(response))) if (copy_to_user(arg, &response, sizeof(response)))
return -EFAULT; return -EFAULT;
......
...@@ -27,8 +27,11 @@ ...@@ -27,8 +27,11 @@
* Abstract: Linux Driver entry module for Adaptec RAID Array Controller * Abstract: Linux Driver entry module for Adaptec RAID Array Controller
*/ */
#define AAC_DRIVER_VERSION "1.1.2-lk2" #define AAC_DRIVER_VERSION "1.1-4"
#define AAC_DRIVER_BUILD_DATE __DATE__ #ifndef AAC_DRIVER_BRANCH
#define AAC_DRIVER_BRANCH ""
#endif
#define AAC_DRIVER_BUILD_DATE __DATE__ " " __TIME__
#define AAC_DRIVERNAME "aacraid" #define AAC_DRIVERNAME "aacraid"
#include <linux/compat.h> #include <linux/compat.h>
...@@ -58,16 +61,24 @@ ...@@ -58,16 +61,24 @@
#include "aacraid.h" #include "aacraid.h"
#ifdef AAC_DRIVER_BUILD
#define _str(x) #x
#define str(x) _str(x)
#define AAC_DRIVER_FULL_VERSION AAC_DRIVER_VERSION "[" str(AAC_DRIVER_BUILD) "]" AAC_DRIVER_BRANCH
#else
#define AAC_DRIVER_FULL_VERSION AAC_DRIVER_VERSION AAC_DRIVER_BRANCH " " AAC_DRIVER_BUILD_DATE
#endif
MODULE_AUTHOR("Red Hat Inc and Adaptec"); MODULE_AUTHOR("Red Hat Inc and Adaptec");
MODULE_DESCRIPTION("Dell PERC2, 2/Si, 3/Si, 3/Di, " MODULE_DESCRIPTION("Dell PERC2, 2/Si, 3/Si, 3/Di, "
"Adaptec Advanced Raid Products, " "Adaptec Advanced Raid Products, "
"and HP NetRAID-4M SCSI driver"); "and HP NetRAID-4M SCSI driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_VERSION(AAC_DRIVER_VERSION); MODULE_VERSION(AAC_DRIVER_FULL_VERSION);
static LIST_HEAD(aac_devices); static LIST_HEAD(aac_devices);
static int aac_cfg_major = -1; static int aac_cfg_major = -1;
char aac_driver_version[] = AAC_DRIVER_FULL_VERSION;
/* /*
* Because of the way Linux names scsi devices, the order in this table has * Because of the way Linux names scsi devices, the order in this table has
...@@ -896,8 +907,8 @@ static int __init aac_init(void) ...@@ -896,8 +907,8 @@ static int __init aac_init(void)
{ {
int error; int error;
printk(KERN_INFO "Red Hat/Adaptec aacraid driver (%s %s)\n", printk(KERN_INFO "Adaptec %s driver (%s)\n",
AAC_DRIVER_VERSION, AAC_DRIVER_BUILD_DATE); AAC_DRIVERNAME, aac_driver_version);
error = pci_module_init(&aac_pci_driver); error = pci_module_init(&aac_pci_driver);
if (error) if (error)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment