Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
223ddcea
Commit
223ddcea
authored
Aug 16, 2006
by
Greg Kroah-Hartman
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'for-linus' of
git://git390.osdl.marist.edu/pub/scm/linux-2.6
parents
ca412cc9
3e03a2fc
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
50 additions
and
77 deletions
+50
-77
arch/s390/appldata/appldata_base.c
arch/s390/appldata/appldata_base.c
+1
-1
arch/s390/mm/init.c
arch/s390/mm/init.c
+3
-3
drivers/s390/block/dasd.c
drivers/s390/block/dasd.c
+1
-1
drivers/s390/block/dasd_devmap.c
drivers/s390/block/dasd_devmap.c
+40
-44
drivers/s390/block/dasd_eckd.c
drivers/s390/block/dasd_eckd.c
+4
-4
drivers/s390/block/xpram.c
drivers/s390/block/xpram.c
+1
-24
No files found.
arch/s390/appldata/appldata_base.c
View file @
223ddcea
...
...
@@ -618,7 +618,7 @@ appldata_offline_cpu(int cpu)
}
#ifdef CONFIG_HOTPLUG_CPU
static
int
static
int
__cpuinit
appldata_cpu_notify
(
struct
notifier_block
*
self
,
unsigned
long
action
,
void
*
hcpu
)
{
...
...
arch/s390/mm/init.c
View file @
223ddcea
...
...
@@ -129,7 +129,7 @@ void __init paging_init(void)
/*
* pg_table is physical at this point
*/
pg_table
=
(
pte_t
*
)
alloc_bootmem_
low_
pages
(
PAGE_SIZE
);
pg_table
=
(
pte_t
*
)
alloc_bootmem_pages
(
PAGE_SIZE
);
pg_dir
->
pgd0
=
(
_PAGE_TABLE
|
__pa
(
pg_table
));
pg_dir
->
pgd1
=
(
_PAGE_TABLE
|
(
__pa
(
pg_table
)
+
1024
));
...
...
@@ -219,7 +219,7 @@ void __init paging_init(void)
continue
;
}
pm_dir
=
(
pmd_t
*
)
alloc_bootmem_low_pages
(
PAGE_SIZE
*
4
);
pm_dir
=
(
pmd_t
*
)
alloc_bootmem_pages
(
PAGE_SIZE
*
4
);
pgd_populate
(
&
init_mm
,
pg_dir
,
pm_dir
);
for
(
j
=
0
;
j
<
PTRS_PER_PMD
;
j
++
,
pm_dir
++
)
{
...
...
@@ -228,7 +228,7 @@ void __init paging_init(void)
continue
;
}
pt_dir
=
(
pte_t
*
)
alloc_bootmem_low
_pages
(
PAGE_SIZE
);
pt_dir
=
(
pte_t
*
)
alloc_bootmem
_pages
(
PAGE_SIZE
);
pmd_populate_kernel
(
&
init_mm
,
pm_dir
,
pt_dir
);
for
(
k
=
0
;
k
<
PTRS_PER_PTE
;
k
++
,
pt_dir
++
)
{
...
...
drivers/s390/block/dasd.c
View file @
223ddcea
...
...
@@ -1730,8 +1730,8 @@ dasd_flush_request_queue(struct dasd_device * device)
req
=
elv_next_request
(
device
->
request_queue
);
if
(
req
==
NULL
)
break
;
dasd_end_request
(
req
,
0
);
blkdev_dequeue_request
(
req
);
dasd_end_request
(
req
,
0
);
}
spin_unlock_irq
(
&
device
->
request_queue_lock
);
}
...
...
drivers/s390/block/dasd_devmap.c
View file @
223ddcea
...
...
@@ -48,18 +48,20 @@ struct dasd_devmap {
};
/*
* dasd_servermap is used to store the server_id of all storage servers
* accessed by DASD device driver.
* dasd_server_ssid_map contains a globally unique storage server subsystem ID.
* dasd_server_ssid_list contains the list of all subsystem IDs accessed by
* the DASD device driver.
*/
struct
dasd_servermap
{
struct
dasd_server
_ssid_
map
{
struct
list_head
list
;
struct
server_id
{
char
vendor
[
4
];
char
serial
[
15
];
}
sid
;
__u16
ssid
;
};
static
struct
list_head
dasd_serverlist
;
static
struct
list_head
dasd_server
_ssid_
list
;
/*
* Parameter parsing functions for dasd= parameter. The syntax is:
...
...
@@ -89,7 +91,7 @@ static char *dasd[256];
module_param_array
(
dasd
,
charp
,
NULL
,
0
);
/*
* Single spinlock to protect devmap structures and lists.
* Single spinlock to protect devmap
and servermap
structures and lists.
*/
static
DEFINE_SPINLOCK
(
dasd_devmap_lock
);
...
...
@@ -264,8 +266,9 @@ dasd_parse_keyword( char *parsestring ) {
if
(
dasd_page_cache
)
return
residual_str
;
dasd_page_cache
=
kmem_cache_create
(
"dasd_page_cache"
,
PAGE_SIZE
,
0
,
SLAB_CACHE_DMA
,
NULL
,
NULL
);
kmem_cache_create
(
"dasd_page_cache"
,
PAGE_SIZE
,
PAGE_SIZE
,
SLAB_CACHE_DMA
,
NULL
,
NULL
);
if
(
!
dasd_page_cache
)
MESSAGE
(
KERN_WARNING
,
"%s"
,
"Failed to create slab, "
"fixed buffer mode disabled."
);
...
...
@@ -858,39 +861,6 @@ static struct attribute_group dasd_attr_group = {
.
attrs
=
dasd_attrs
,
};
/*
* Check if the related storage server is already contained in the
* dasd_serverlist. If server is not contained, create new entry.
* Return 0 if server was already in serverlist,
* 1 if the server was added successfully
* <0 in case of error.
*/
static
int
dasd_add_server
(
struct
dasd_uid
*
uid
)
{
struct
dasd_servermap
*
new
,
*
tmp
;
/* check if server is already contained */
list_for_each_entry
(
tmp
,
&
dasd_serverlist
,
list
)
// normale cmp?
if
(
strncmp
(
tmp
->
sid
.
vendor
,
uid
->
vendor
,
sizeof
(
tmp
->
sid
.
vendor
))
==
0
&&
strncmp
(
tmp
->
sid
.
serial
,
uid
->
serial
,
sizeof
(
tmp
->
sid
.
serial
))
==
0
)
return
0
;
new
=
(
struct
dasd_servermap
*
)
kzalloc
(
sizeof
(
struct
dasd_servermap
),
GFP_KERNEL
);
if
(
!
new
)
return
-
ENOMEM
;
strncpy
(
new
->
sid
.
vendor
,
uid
->
vendor
,
sizeof
(
new
->
sid
.
vendor
));
strncpy
(
new
->
sid
.
serial
,
uid
->
serial
,
sizeof
(
new
->
sid
.
serial
));
list_add
(
&
new
->
list
,
&
dasd_serverlist
);
return
1
;
}
/*
* Return copy of the device unique identifier.
*/
...
...
@@ -910,6 +880,9 @@ dasd_get_uid(struct ccw_device *cdev, struct dasd_uid *uid)
/*
* Register the given device unique identifier into devmap struct.
* In addition check if the related storage server subsystem ID is already
* contained in the dasd_server_ssid_list. If subsystem ID is not contained,
* create new entry.
* Return 0 if server was already in serverlist,
* 1 if the server was added successful
* <0 in case of error.
...
...
@@ -918,16 +891,39 @@ int
dasd_set_uid
(
struct
ccw_device
*
cdev
,
struct
dasd_uid
*
uid
)
{
struct
dasd_devmap
*
devmap
;
int
rc
;
struct
dasd_server_ssid_map
*
srv
,
*
tmp
;
devmap
=
dasd_find_busid
(
cdev
->
dev
.
bus_id
);
if
(
IS_ERR
(
devmap
))
return
PTR_ERR
(
devmap
);
/* generate entry for server_ssid_map */
srv
=
(
struct
dasd_server_ssid_map
*
)
kzalloc
(
sizeof
(
struct
dasd_server_ssid_map
),
GFP_KERNEL
);
if
(
!
srv
)
return
-
ENOMEM
;
strncpy
(
srv
->
sid
.
vendor
,
uid
->
vendor
,
sizeof
(
srv
->
sid
.
vendor
)
-
1
);
strncpy
(
srv
->
sid
.
serial
,
uid
->
serial
,
sizeof
(
srv
->
sid
.
serial
)
-
1
);
srv
->
ssid
=
uid
->
ssid
;
/* server is already contained ? */
spin_lock
(
&
dasd_devmap_lock
);
devmap
->
uid
=
*
uid
;
rc
=
dasd_add_server
(
uid
);
list_for_each_entry
(
tmp
,
&
dasd_server_ssid_list
,
list
)
{
if
(
!
memcmp
(
&
srv
->
sid
,
&
tmp
->
sid
,
sizeof
(
struct
dasd_server_ssid_map
)))
{
kfree
(
srv
);
srv
=
NULL
;
break
;
}
}
/* add servermap to serverlist */
if
(
srv
)
list_add
(
&
srv
->
list
,
&
dasd_server_ssid_list
);
spin_unlock
(
&
dasd_devmap_lock
);
return
rc
;
return
(
srv
?
1
:
0
);
}
EXPORT_SYMBOL_GPL
(
dasd_set_uid
);
...
...
@@ -995,7 +991,7 @@ dasd_devmap_init(void)
INIT_LIST_HEAD
(
&
dasd_hashlists
[
i
]);
/* Initialize servermap structure. */
INIT_LIST_HEAD
(
&
dasd_serverlist
);
INIT_LIST_HEAD
(
&
dasd_server
_ssid_
list
);
return
0
;
}
...
...
drivers/s390/block/dasd_eckd.c
View file @
223ddcea
...
...
@@ -468,10 +468,10 @@ dasd_eckd_generate_uid(struct dasd_device *device, struct dasd_uid *uid)
return
-
ENODEV
;
memset
(
uid
,
0
,
sizeof
(
struct
dasd_uid
));
strn
cpy
(
uid
->
vendor
,
confdata
->
ned1
.
HDA_manufacturer
,
mem
cpy
(
uid
->
vendor
,
confdata
->
ned1
.
HDA_manufacturer
,
sizeof
(
uid
->
vendor
)
-
1
);
EBCASC
(
uid
->
vendor
,
sizeof
(
uid
->
vendor
)
-
1
);
strn
cpy
(
uid
->
serial
,
confdata
->
ned1
.
HDA_location
,
mem
cpy
(
uid
->
serial
,
confdata
->
ned1
.
HDA_location
,
sizeof
(
uid
->
serial
)
-
1
);
EBCASC
(
uid
->
serial
,
sizeof
(
uid
->
serial
)
-
1
);
uid
->
ssid
=
confdata
->
neq
.
subsystemID
;
...
...
drivers/s390/block/xpram.c
View file @
223ddcea
...
...
@@ -48,15 +48,6 @@
#define PRINT_ERR(x...) printk(KERN_ERR XPRAM_NAME " error:" x)
static
struct
sysdev_class
xpram_sysclass
=
{
set_kset_name
(
"xpram"
),
};
static
struct
sys_device
xpram_sys_device
=
{
.
id
=
0
,
.
cls
=
&
xpram_sysclass
,
};
typedef
struct
{
unsigned
int
size
;
/* size of xpram segment in pages */
unsigned
int
offset
;
/* start page of xpram segment */
...
...
@@ -451,8 +442,6 @@ static void __exit xpram_exit(void)
}
unregister_blkdev
(
XPRAM_MAJOR
,
XPRAM_NAME
);
blk_cleanup_queue
(
xpram_queue
);
sysdev_unregister
(
&
xpram_sys_device
);
sysdev_class_unregister
(
&
xpram_sysclass
);
}
static
int
__init
xpram_init
(
void
)
...
...
@@ -470,19 +459,7 @@ static int __init xpram_init(void)
rc
=
xpram_setup_sizes
(
xpram_pages
);
if
(
rc
)
return
rc
;
rc
=
sysdev_class_register
(
&
xpram_sysclass
);
if
(
rc
)
return
rc
;
rc
=
sysdev_register
(
&
xpram_sys_device
);
if
(
rc
)
{
sysdev_class_unregister
(
&
xpram_sysclass
);
return
rc
;
}
rc
=
xpram_setup_blkdev
();
if
(
rc
)
sysdev_unregister
(
&
xpram_sys_device
);
return
rc
;
return
xpram_setup_blkdev
();
}
module_init
(
xpram_init
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment