mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 14:19:09 -04:00
asoc: Add machine driver changes for sa6155
Add machine driver interface for 615x to support dynamic loading of kernel module. Change-Id: I5691c2730d31390d6f6b4ce30794182421dc1861 Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
This commit is contained in:
parent
16f8ca3df0
commit
a070ce5bc8
4 changed files with 73 additions and 1 deletions
|
|
@ -86,6 +86,8 @@ endif
|
|||
# for SM6150 sound card driver
|
||||
ifdef CONFIG_SND_SOC_SM6150
|
||||
MACHINE_OBJS += sm6150.o
|
||||
MACHINE_OBJS += sa8155.o
|
||||
MACHINE_OBJS += machine_615x_init.o
|
||||
endif
|
||||
|
||||
# for qcs405 sound card driver
|
||||
|
|
|
|||
36
asoc/machine_615x_init.c
Normal file
36
asoc/machine_615x_init.c
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
/*
|
||||
* Copyright (c) 2018, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
#include "machine_615x_init.h"
|
||||
|
||||
static int __init audio_machine_615x_init(void)
|
||||
{
|
||||
sm6150_init();
|
||||
sa8155_init();
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void audio_machine_615x_exit(void)
|
||||
{
|
||||
sm6150_exit();
|
||||
sa8155_exit();
|
||||
}
|
||||
|
||||
module_init(audio_machine_615x_init);
|
||||
module_exit(audio_machine_615x_exit);
|
||||
|
||||
MODULE_DESCRIPTION("Audio Machine 615X Driver");
|
||||
MODULE_LICENSE("GPL v2");
|
||||
23
asoc/machine_615x_init.h
Normal file
23
asoc/machine_615x_init.h
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
/*
|
||||
* Copyright (c) 2018, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __MACHINE_615X_INIT_H__
|
||||
#define __MACHINE_615X_INIT_H__
|
||||
int sm6150_init(void);
|
||||
int sa8155_init(void);
|
||||
|
||||
void sm6150_exit(void);
|
||||
void sa8155_exit(void);
|
||||
#endif
|
||||
|
||||
|
|
@ -9302,7 +9302,18 @@ static struct platform_driver sm6150_asoc_machine_driver = {
|
|||
.probe = msm_asoc_machine_probe,
|
||||
.remove = msm_asoc_machine_remove,
|
||||
};
|
||||
module_platform_driver(sm6150_asoc_machine_driver);
|
||||
|
||||
int __init sm6150_init(void)
|
||||
{
|
||||
pr_debug("%s\n", __func__);
|
||||
return platform_driver_register(&sm6150_asoc_machine_driver);
|
||||
}
|
||||
|
||||
void sm6150_exit(void)
|
||||
{
|
||||
pr_debug("%s\n", __func__);
|
||||
platform_driver_unregister(&sm6150_asoc_machine_driver);
|
||||
}
|
||||
|
||||
MODULE_DESCRIPTION("ALSA SoC SM6150 Machine driver");
|
||||
MODULE_LICENSE("GPL v2");
|
||||
|
|
|
|||
Loading…
Reference in a new issue