5 Feb
2020
5 Feb
'20
6:02 p.m.
30.01.2020 13:33, Sameer Pujar пишет: ...
+#include <linux/module.h> +#include <linux/regmap.h> +#include "tegra_cif.h"
+void tegra_set_cif(struct regmap *regmap, unsigned int reg,
struct tegra_cif_conf *conf)
+{
- unsigned int value;
- value = (conf->threshold << TEGRA_ACIF_CTRL_FIFO_TH_SHIFT) |
((conf->audio_ch - 1) << TEGRA_ACIF_CTRL_AUDIO_CH_SHIFT) |
((conf->client_ch - 1) << TEGRA_ACIF_CTRL_CLIENT_CH_SHIFT) |
(conf->audio_bits << TEGRA_ACIF_CTRL_AUDIO_BITS_SHIFT) |
(conf->client_bits << TEGRA_ACIF_CTRL_CLIENT_BITS_SHIFT) |
(conf->expand << TEGRA_ACIF_CTRL_EXPAND_SHIFT) |
(conf->stereo_conv << TEGRA_ACIF_CTRL_STEREO_CONV_SHIFT) |
(conf->replicate << TEGRA_ACIF_CTRL_REPLICATE_SHIFT) |
(conf->truncate << TEGRA_ACIF_CTRL_TRUNCATE_SHIFT) |
(conf->mono_conv << TEGRA_ACIF_CTRL_MONO_CONV_SHIFT);
- regmap_update_bits(regmap, reg, TEGRA_ACIF_UPDATE_MASK, value);
+} +EXPORT_SYMBOL_GPL(tegra_set_cif);
Are you going to add more stuff into this source file later on?
If not, then it's too much to have a separate driver module just for a single tiny function, you should move it into the header file (make it inline).