30 Mar
2023
30 Mar
'23
1:53 p.m.
On 3/29/2023 12:01 PM, Shenghao Ding wrote:
Create tas2781 driver.
Signed-off-by: Shenghao Ding 13916275206@139.com
Changes in v10:
- using be16_to_cpu and be32_to_cpu instead of SMS_HTONS and SMS_HTONL
- optimize and reduce the boundary checks
- Add comments on some kmemdup instead of kzalloc+memcpy
Changes to be committed: modified: sound/soc/codecs/Kconfig modified: sound/soc/codecs/Makefile new file: sound/soc/codecs/tas2781-dsp.c new file: sound/soc/codecs/tas2781-dsp.h new file: sound/soc/codecs/tas2781-i2c.c new file: sound/soc/codecs/tas2781.h
...
+static int fw_parse_block_data_kernel(struct tasdevice_fw *tas_fmw,
- struct tasdev_blk *block, const struct firmware *fmw, int offset)
+{
- const unsigned char *data = fmw->data;
- if (offset + 16 > fmw->size) {
dev_err(tas_fmw->dev, "%s: File Size error\n", __func__);
offset = -EINVAL;
goto out;
- }
- block->type = be32_to_cpup((__be32 *)&data[offset]);
Wouldn't just be32_to_cpu(data[offset]) work instead of be32_to_cpup? Same in other cases.