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
fbce71ca
Commit
fbce71ca
authored
Sep 17, 2013
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'spi/topic/devm' into spi-s3c64xx
parents
50c959fc
666d5b4c
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
40 additions
and
0 deletions
+40
-0
Documentation/driver-model/devres.txt
Documentation/driver-model/devres.txt
+3
-0
drivers/spi/spi.c
drivers/spi/spi.c
+35
-0
include/linux/spi/spi.h
include/linux/spi/spi.h
+2
-0
No files found.
Documentation/driver-model/devres.txt
View file @
fbce71ca
...
@@ -302,3 +302,6 @@ PHY
...
@@ -302,3 +302,6 @@ PHY
SLAVE DMA ENGINE
SLAVE DMA ENGINE
devm_acpi_dma_controller_register()
devm_acpi_dma_controller_register()
SPI
devm_spi_register_master()
drivers/spi/spi.c
View file @
fbce71ca
...
@@ -1245,6 +1245,41 @@ int spi_register_master(struct spi_master *master)
...
@@ -1245,6 +1245,41 @@ int spi_register_master(struct spi_master *master)
}
}
EXPORT_SYMBOL_GPL
(
spi_register_master
);
EXPORT_SYMBOL_GPL
(
spi_register_master
);
static
void
devm_spi_unregister
(
struct
device
*
dev
,
void
*
res
)
{
spi_unregister_master
(
*
(
struct
spi_master
**
)
res
);
}
/**
* dev_spi_register_master - register managed SPI master controller
* @dev: device managing SPI master
* @master: initialized master, originally from spi_alloc_master()
* Context: can sleep
*
* Register a SPI device as with spi_register_master() which will
* automatically be unregister
*/
int
devm_spi_register_master
(
struct
device
*
dev
,
struct
spi_master
*
master
)
{
struct
spi_master
**
ptr
;
int
ret
;
ptr
=
devres_alloc
(
devm_spi_unregister
,
sizeof
(
*
ptr
),
GFP_KERNEL
);
if
(
!
ptr
)
return
-
ENOMEM
;
ret
=
spi_register_master
(
master
);
if
(
ret
!=
0
)
{
*
ptr
=
master
;
devres_add
(
dev
,
ptr
);
}
else
{
devres_free
(
ptr
);
}
return
ret
;
}
EXPORT_SYMBOL_GPL
(
devm_spi_register_master
);
static
int
__unregister
(
struct
device
*
dev
,
void
*
null
)
static
int
__unregister
(
struct
device
*
dev
,
void
*
null
)
{
{
spi_unregister_device
(
to_spi_device
(
dev
));
spi_unregister_device
(
to_spi_device
(
dev
));
...
...
include/linux/spi/spi.h
View file @
fbce71ca
...
@@ -434,6 +434,8 @@ extern struct spi_master *
...
@@ -434,6 +434,8 @@ extern struct spi_master *
spi_alloc_master
(
struct
device
*
host
,
unsigned
size
);
spi_alloc_master
(
struct
device
*
host
,
unsigned
size
);
extern
int
spi_register_master
(
struct
spi_master
*
master
);
extern
int
spi_register_master
(
struct
spi_master
*
master
);
extern
int
devm_spi_register_master
(
struct
device
*
dev
,
struct
spi_master
*
master
);
extern
void
spi_unregister_master
(
struct
spi_master
*
master
);
extern
void
spi_unregister_master
(
struct
spi_master
*
master
);
extern
struct
spi_master
*
spi_busnum_to_master
(
u16
busnum
);
extern
struct
spi_master
*
spi_busnum_to_master
(
u16
busnum
);
...
...
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