mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
Add class / device portability code. Two autoconf tests
were added to cover the 3 possible APIs from 2.6.9 to 2.6.26. We attempt to use the newest interfaces and if not available fallback to the oldest. This a rework of some changes proposed by Ricardo for RHEL4. git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@150 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c
This commit is contained in:
@@ -153,7 +153,7 @@ __ddi_create_minor_node(dev_info_t *di, char *name, int spec_type,
|
||||
RETURN(DDI_FAILURE);
|
||||
}
|
||||
|
||||
di->di_class = class_create(THIS_MODULE, name);
|
||||
di->di_class = spl_class_create(THIS_MODULE, name);
|
||||
if (IS_ERR(di->di_class)) {
|
||||
rc = PTR_ERR(di->di_class);
|
||||
CERROR("Error creating %s class, %d\n", name, rc);
|
||||
@@ -165,11 +165,11 @@ __ddi_create_minor_node(dev_info_t *di, char *name, int spec_type,
|
||||
|
||||
/* Do not append a 0 to devices with minor nums of 0 */
|
||||
if (di->di_minor == 0) {
|
||||
class_device_create(di->di_class, NULL, di->di_dev,
|
||||
NULL, "%s", name);
|
||||
spl_device_create(di->di_class, NULL, di->di_dev,
|
||||
NULL, "%s", name);
|
||||
} else {
|
||||
class_device_create(di->di_class, NULL, di->di_dev,
|
||||
NULL, "%s%d", name, di->di_minor);
|
||||
spl_device_create(di->di_class, NULL, di->di_dev,
|
||||
NULL, "%s%d", name, di->di_minor);
|
||||
}
|
||||
|
||||
di->di_cdev = cdev;
|
||||
@@ -188,8 +188,8 @@ static void
|
||||
__ddi_remove_minor_node_locked(dev_info_t *di, char *name)
|
||||
{
|
||||
if (di->di_class) {
|
||||
class_device_destroy(di->di_class, di->di_dev);
|
||||
class_destroy(di->di_class);
|
||||
spl_device_destroy(di->di_class, di->di_dev);
|
||||
spl_class_destroy(di->di_class);
|
||||
|
||||
di->di_class = NULL;
|
||||
di->di_dev = 0;
|
||||
|
||||
Reference in New Issue
Block a user