ALSA: asihpi - Code cleanup.
Remove unused function. Simplify hpi_alloc_control_cache. Remove useless assignment to struct subsequently freed. Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Родитель
0a00044d26
Коммит
4704998e84
|
@ -156,7 +156,7 @@ static void subsys_get_adapter(struct hpi_message *phm,
|
||||||
/* find the nCount'th nonzero adapter in array */
|
/* find the nCount'th nonzero adapter in array */
|
||||||
for (index = 0; index < HPI_MAX_ADAPTERS; index++) {
|
for (index = 0; index < HPI_MAX_ADAPTERS; index++) {
|
||||||
if (adapters.adapter[index].adapter_type) {
|
if (adapters.adapter[index].adapter_type) {
|
||||||
if (count == 0)
|
if (!count)
|
||||||
break;
|
break;
|
||||||
count--;
|
count--;
|
||||||
}
|
}
|
||||||
|
@ -199,7 +199,7 @@ static unsigned int control_cache_alloc_check(struct hpi_control_cache *pC)
|
||||||
&p_master_cache[byte_count];
|
&p_master_cache[byte_count];
|
||||||
|
|
||||||
if (!info->size_in32bit_words) {
|
if (!info->size_in32bit_words) {
|
||||||
if (i == 0) {
|
if (!i) {
|
||||||
HPI_DEBUG_LOG(INFO,
|
HPI_DEBUG_LOG(INFO,
|
||||||
"adap %d cache not ready?\n",
|
"adap %d cache not ready?\n",
|
||||||
pC->adap_idx);
|
pC->adap_idx);
|
||||||
|
@ -279,28 +279,6 @@ static short find_control(u16 control_index,
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Used by the kernel driver to figure out if a buffer needs mapping.
|
|
||||||
*/
|
|
||||||
short hpi_check_buffer_mapping(struct hpi_control_cache *p_cache,
|
|
||||||
struct hpi_message *phm, void **p, unsigned int *pN)
|
|
||||||
{
|
|
||||||
*pN = 0;
|
|
||||||
*p = NULL;
|
|
||||||
if ((phm->function == HPI_CONTROL_GET_STATE)
|
|
||||||
&& (phm->object == HPI_OBJ_CONTROLEX)
|
|
||||||
) {
|
|
||||||
struct hpi_control_cache_info *pI;
|
|
||||||
|
|
||||||
if (!find_control(phm->obj_index, p_cache, &pI)) {
|
|
||||||
HPI_DEBUG_LOG(VERBOSE,
|
|
||||||
"HPICMN find_control() failed for adap %d\n",
|
|
||||||
phm->adapter_index);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* allow unified treatment of several string fields within struct */
|
/* allow unified treatment of several string fields within struct */
|
||||||
#define HPICMN_PAD_OFS_AND_SIZE(m) {\
|
#define HPICMN_PAD_OFS_AND_SIZE(m) {\
|
||||||
offsetof(struct hpi_control_cache_pad, m), \
|
offsetof(struct hpi_control_cache_pad, m), \
|
||||||
|
@ -612,24 +590,24 @@ void hpi_cmn_control_cache_sync_to_msg(struct hpi_control_cache *p_cache,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct hpi_control_cache *hpi_alloc_control_cache(const u32
|
struct hpi_control_cache *hpi_alloc_control_cache(const u32 control_count,
|
||||||
number_of_controls, const u32 size_in_bytes, u8 *pDSP_control_buffer)
|
const u32 size_in_bytes, u8 *p_dsp_control_buffer)
|
||||||
{
|
{
|
||||||
struct hpi_control_cache *p_cache =
|
struct hpi_control_cache *p_cache =
|
||||||
kmalloc(sizeof(*p_cache), GFP_KERNEL);
|
kmalloc(sizeof(*p_cache), GFP_KERNEL);
|
||||||
if (!p_cache)
|
if (!p_cache)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
p_cache->p_info =
|
p_cache->p_info =
|
||||||
kmalloc(sizeof(*p_cache->p_info) * number_of_controls,
|
kmalloc(sizeof(*p_cache->p_info) * control_count, GFP_KERNEL);
|
||||||
GFP_KERNEL);
|
|
||||||
if (!p_cache->p_info) {
|
if (!p_cache->p_info) {
|
||||||
kfree(p_cache);
|
kfree(p_cache);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
memset(p_cache->p_info, 0, sizeof(*p_cache->p_info) * control_count);
|
||||||
p_cache->cache_size_in_bytes = size_in_bytes;
|
p_cache->cache_size_in_bytes = size_in_bytes;
|
||||||
p_cache->control_count = number_of_controls;
|
p_cache->control_count = control_count;
|
||||||
p_cache->p_cache =
|
p_cache->p_cache = p_dsp_control_buffer;
|
||||||
(struct hpi_control_cache_single *)pDSP_control_buffer;
|
|
||||||
p_cache->init = 0;
|
p_cache->init = 0;
|
||||||
return p_cache;
|
return p_cache;
|
||||||
}
|
}
|
||||||
|
@ -638,8 +616,6 @@ void hpi_free_control_cache(struct hpi_control_cache *p_cache)
|
||||||
{
|
{
|
||||||
if (p_cache) {
|
if (p_cache) {
|
||||||
kfree(p_cache->p_info);
|
kfree(p_cache->p_info);
|
||||||
p_cache->p_info = NULL;
|
|
||||||
p_cache->init = 0;
|
|
||||||
kfree(p_cache);
|
kfree(p_cache);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,15 +33,15 @@ struct hpi_adapter_obj {
|
||||||
};
|
};
|
||||||
|
|
||||||
struct hpi_control_cache {
|
struct hpi_control_cache {
|
||||||
u16 init; /**< indicates whether the
|
/** indicates whether the structures are initialized */
|
||||||
structures are initialized */
|
u16 init;
|
||||||
u16 adap_idx;
|
u16 adap_idx;
|
||||||
u32 control_count;
|
u32 control_count;
|
||||||
u32 cache_size_in_bytes;
|
u32 cache_size_in_bytes;
|
||||||
struct hpi_control_cache_info
|
/** pointer to allocated memory of lookup pointers. */
|
||||||
**p_info; /**< pointer to allocated memory of
|
struct hpi_control_cache_info **p_info;
|
||||||
lookup pointers. */
|
/** pointer to DSP's control cache. */
|
||||||
u8 *p_cache; /**< pointer to DSP's control cache. */
|
u8 *p_cache;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct hpi_adapter_obj *hpi_find_adapter(u16 adapter_index);
|
struct hpi_adapter_obj *hpi_find_adapter(u16 adapter_index);
|
||||||
|
@ -57,6 +57,5 @@ void hpi_free_control_cache(struct hpi_control_cache *p_cache);
|
||||||
|
|
||||||
void hpi_cmn_control_cache_sync_to_msg(struct hpi_control_cache *pC,
|
void hpi_cmn_control_cache_sync_to_msg(struct hpi_control_cache *pC,
|
||||||
struct hpi_message *phm, struct hpi_response *phr);
|
struct hpi_message *phm, struct hpi_response *phr);
|
||||||
|
|
||||||
u16 hpi_validate_response(struct hpi_message *phm, struct hpi_response *phr);
|
u16 hpi_validate_response(struct hpi_message *phm, struct hpi_response *phr);
|
||||||
short hpi_check_buffer_mapping(struct hpi_control_cache *p_cache,
|
|
||||||
struct hpi_message *phm, void **p, unsigned int *pN);
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче