rt5682-sdw.c (9c3a985f88fa4de82bf4bda906095ce6444e9039) rt5682-sdw.c (758665b15acc1adb21a833c6456746ffbce07ed7)
1// SPDX-License-Identifier: GPL-2.0-only
2//
3// rt5682-sdw.c -- RT5682 ALSA SoC audio component driver
4//
5// Copyright 2019 Realtek Semiconductor Corp.
6// Author: Oder Chiou <oder_chiou@realtek.com>
7//
8

--- 65 unchanged lines hidden (view full) ---

74}
75
76static const struct regmap_config rt5682_sdw_indirect_regmap = {
77 .reg_bits = 16,
78 .val_bits = 16,
79 .max_register = RT5682_I2C_MODE,
80 .volatile_reg = rt5682_volatile_register,
81 .readable_reg = rt5682_readable_register,
1// SPDX-License-Identifier: GPL-2.0-only
2//
3// rt5682-sdw.c -- RT5682 ALSA SoC audio component driver
4//
5// Copyright 2019 Realtek Semiconductor Corp.
6// Author: Oder Chiou <oder_chiou@realtek.com>
7//
8

--- 65 unchanged lines hidden (view full) ---

74}
75
76static const struct regmap_config rt5682_sdw_indirect_regmap = {
77 .reg_bits = 16,
78 .val_bits = 16,
79 .max_register = RT5682_I2C_MODE,
80 .volatile_reg = rt5682_volatile_register,
81 .readable_reg = rt5682_readable_register,
82 .cache_type = REGCACHE_RBTREE,
82 .cache_type = REGCACHE_MAPLE,
83 .reg_defaults = rt5682_reg,
84 .num_reg_defaults = RT5682_REG_NUM,
85 .use_single_read = true,
86 .use_single_write = true,
87 .reg_read = rt5682_sdw_read,
88 .reg_write = rt5682_sdw_write,
89};
90

--- 404 unchanged lines hidden (view full) ---

495 .use_single_write = true,
496};
497
498static int rt5682_update_status(struct sdw_slave *slave,
499 enum sdw_slave_status status)
500{
501 struct rt5682_priv *rt5682 = dev_get_drvdata(&slave->dev);
502
83 .reg_defaults = rt5682_reg,
84 .num_reg_defaults = RT5682_REG_NUM,
85 .use_single_read = true,
86 .use_single_write = true,
87 .reg_read = rt5682_sdw_read,
88 .reg_write = rt5682_sdw_write,
89};
90

--- 404 unchanged lines hidden (view full) ---

495 .use_single_write = true,
496};
497
498static int rt5682_update_status(struct sdw_slave *slave,
499 enum sdw_slave_status status)
500{
501 struct rt5682_priv *rt5682 = dev_get_drvdata(&slave->dev);
502
503 /* Update the status */
504 rt5682->status = status;
505
506 if (status == SDW_SLAVE_UNATTACHED)
507 rt5682->hw_init = false;
508
509 /*
510 * Perform initialization only if slave status is present and
511 * hw_init flag is false
512 */
503 if (status == SDW_SLAVE_UNATTACHED)
504 rt5682->hw_init = false;
505
506 /*
507 * Perform initialization only if slave status is present and
508 * hw_init flag is false
509 */
513 if (rt5682->hw_init || rt5682->status != SDW_SLAVE_ATTACHED)
510 if (rt5682->hw_init || status != SDW_SLAVE_ATTACHED)
514 return 0;
515
516 /* perform I/O transfers required for Slave initialization */
517 return rt5682_io_init(&slave->dev, slave);
518}
519
520static int rt5682_read_prop(struct sdw_slave *slave)
521{

--- 275 unchanged lines hidden ---
511 return 0;
512
513 /* perform I/O transfers required for Slave initialization */
514 return rt5682_io_init(&slave->dev, slave);
515}
516
517static int rt5682_read_prop(struct sdw_slave *slave)
518{

--- 275 unchanged lines hidden ---