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
370887f1
Commit
370887f1
authored
Jun 30, 2013
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'asoc/topic/x86' into asoc-next
parents
e78e4c49
6c50e914
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
22 deletions
+10
-22
sound/soc/mid-x86/mfld_machine.c
sound/soc/mid-x86/mfld_machine.c
+10
-22
No files found.
sound/soc/mid-x86/mfld_machine.c
View file @
370887f1
...
...
@@ -371,7 +371,7 @@ static int snd_mfld_mc_probe(struct platform_device *pdev)
/* audio interrupt base of SRAM location where
* interrupts are stored by System FW */
mc_drv_ctx
=
kzalloc
(
sizeof
(
*
mc_drv_ctx
),
GFP_ATOMIC
);
mc_drv_ctx
=
devm_kzalloc
(
&
pdev
->
dev
,
sizeof
(
*
mc_drv_ctx
),
GFP_ATOMIC
);
if
(
!
mc_drv_ctx
)
{
pr_err
(
"allocation failed
\n
"
);
return
-
ENOMEM
;
...
...
@@ -381,51 +381,39 @@ static int snd_mfld_mc_probe(struct platform_device *pdev)
pdev
,
IORESOURCE_MEM
,
"IRQ_BASE"
);
if
(
!
irq_mem
)
{
pr_err
(
"no mem resource given
\n
"
);
ret_val
=
-
ENODEV
;
goto
unalloc
;
return
-
ENODEV
;
}
mc_drv_ctx
->
int_base
=
ioremap_nocache
(
irq_mem
->
start
,
resource_size
(
irq_mem
));
mc_drv_ctx
->
int_base
=
devm_ioremap_nocache
(
&
pdev
->
dev
,
irq_mem
->
start
,
resource_size
(
irq_mem
));
if
(
!
mc_drv_ctx
->
int_base
)
{
pr_err
(
"Mapping of cache failed
\n
"
);
ret_val
=
-
ENOMEM
;
goto
unalloc
;
return
-
ENOMEM
;
}
/* register for interrupt */
ret_val
=
request_threaded_irq
(
irq
,
snd_mfld_jack_intr_handler
,
ret_val
=
devm_request_threaded_irq
(
&
pdev
->
dev
,
irq
,
snd_mfld_jack_intr_handler
,
snd_mfld_jack_detection
,
IRQF_SHARED
,
pdev
->
dev
.
driver
->
name
,
mc_drv_ctx
);
if
(
ret_val
)
{
pr_err
(
"cannot register IRQ
\n
"
);
goto
unalloc
;
return
ret_val
;
}
/* register the soc card */
snd_soc_card_mfld
.
dev
=
&
pdev
->
dev
;
ret_val
=
snd_soc_register_card
(
&
snd_soc_card_mfld
);
if
(
ret_val
)
{
pr_debug
(
"snd_soc_register_card failed %d
\n
"
,
ret_val
);
goto
freeirq
;
return
ret_val
;
}
platform_set_drvdata
(
pdev
,
mc_drv_ctx
);
pr_debug
(
"successfully exited probe
\n
"
);
return
ret_val
;
freeirq:
free_irq
(
irq
,
mc_drv_ctx
);
unalloc:
kfree
(
mc_drv_ctx
);
return
ret_val
;
return
0
;
}
static
int
snd_mfld_mc_remove
(
struct
platform_device
*
pdev
)
{
struct
mfld_mc_private
*
mc_drv_ctx
=
platform_get_drvdata
(
pdev
);
pr_debug
(
"snd_mfld_mc_remove called
\n
"
);
free_irq
(
platform_get_irq
(
pdev
,
0
),
mc_drv_ctx
);
snd_soc_unregister_card
(
&
snd_soc_card_mfld
);
kfree
(
mc_drv_ctx
);
platform_set_drvdata
(
pdev
,
NULL
);
return
0
;
}
...
...
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