Message ID | 20210407125358.4135345-1-yukuai3@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | stm class: initialize static variable in declaration | expand |
Yu Kuai <yukuai3@huawei.com> writes: > mutex lock can be initialized automatically with DEFINE_MUTEX() > rather than explicitly calling mutex_init(). > > list head can be initialized automatically with LIST_HEAD() rather > than explicitly calling INIT_LIST_HEAD(). > > srcu_struct can be initialized automatically with DEFINE_STATIC_SRCU() > rather than explicitly calling init_srcu_struct(). What's missing is the "why". We can do these or we can keep them as they are. Each choice has impact on .text/.data, for instance. Why is one preferred over the other? Each patch should contain some form of analysis that shows that the author thought about why they made the patch in the first place. And please learn not to spam the STMicro people with patches for System Trace Module. Sometimes the same acronym can mean multiple different things. This is another sign that the patch author spent zero time getting to know the code that they are patching. Regards, -- Alex
diff --git a/drivers/hwtracing/stm/core.c b/drivers/hwtracing/stm/core.c index 2712e699ba08..1e13993e7969 100644 --- a/drivers/hwtracing/stm/core.c +++ b/drivers/hwtracing/stm/core.c @@ -31,7 +31,7 @@ static unsigned int stm_core_up; * stm_source_write() caller, which may want to have as little overhead as * possible. */ -static struct srcu_struct stm_source_srcu; +DEFINE_STATIC_SRCU(stm_source_srcu); static ssize_t masters_show(struct device *dev, struct device_attribute *attr, @@ -366,8 +366,8 @@ static int major_match(struct device *dev, const void *data) * Modules can implement STM protocol drivers and (un-)register them * with the STM class framework. */ -static struct list_head stm_pdrv_head; -static struct mutex stm_pdrv_mutex; +static LIST_HEAD(stm_pdrv_head); +static DEFINE_MUTEX(stm_pdrv_mutex); struct stm_pdrv_entry { struct list_head entry; @@ -1324,10 +1324,6 @@ static int __init stm_core_init(void) if (err) goto err_src; - init_srcu_struct(&stm_source_srcu); - INIT_LIST_HEAD(&stm_pdrv_head); - mutex_init(&stm_pdrv_mutex); - /* * So as to not confuse existing users with a requirement * to load yet another module, do it here.
mutex lock can be initialized automatically with DEFINE_MUTEX() rather than explicitly calling mutex_init(). list head can be initialized automatically with LIST_HEAD() rather than explicitly calling INIT_LIST_HEAD(). srcu_struct can be initialized automatically with DEFINE_STATIC_SRCU() rather than explicitly calling init_srcu_struct(). Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: Yu Kuai <yukuai3@huawei.com> --- drivers/hwtracing/stm/core.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-)