Commit 4704998e authored by Eliot Blennerhassett's avatar Eliot Blennerhassett Committed by Takashi Iwai

ALSA: asihpi - Code cleanup.

Remove unused function.
Simplify hpi_alloc_control_cache.
Remove useless assignment to struct subsequently freed.
Signed-off-by: default avatarEliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 0a00044d
...@@ -156,7 +156,7 @@ static void subsys_get_adapter(struct hpi_message *phm, ...@@ -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) ...@@ -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, ...@@ -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, ...@@ -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) ...@@ -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 { ...@@ -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); ...@@ -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);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment