lkml.org 
[lkml]   [2018]   [Jun]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v1 1/2] ACPI / APEI: Add SEI notification type support for ARMv8
    From
    Date
    Hi Mark,
    Thanks for the comments.

    On 2018/5/31 18:52, Mark Rutland wrote:
    > On Thu, May 31, 2018 at 08:41:45PM +0800, Dongjiu Geng wrote:
    >> +#ifdef CONFIG_ACPI_APEI_SEI
    >> +static LIST_HEAD(ghes_sei);
    >> +
    >> +/*
    >> + * Return 0 only if one of the SEI error sources successfully reported an error
    >> + * record sent from the firmware.
    >> + */
    >> +int ghes_notify_sei(void)
    >> +{
    >> + struct ghes *ghes;
    >> + int ret = -ENOENT;
    >> +
    >> + rcu_read_lock();
    >> + list_for_each_entry_rcu(ghes, &ghes_sei, list) {
    >> + if (!ghes_proc(ghes))
    >> + ret = 0;
    >> + }
    >> + rcu_read_unlock();
    >> + return ret;
    >> +}
    >> +
    >> +static void ghes_sei_add(struct ghes *ghes)
    >> +{
    >> + mutex_lock(&ghes_list_mutex);
    >> + list_add_rcu(&ghes->list, &ghes_sei);
    >> + mutex_unlock(&ghes_list_mutex);
    >> +}
    >> +
    >> +static void ghes_sei_remove(struct ghes *ghes)
    >> +{
    >> + mutex_lock(&ghes_list_mutex);
    >> + list_del_rcu(&ghes->list);
    >> + mutex_unlock(&ghes_list_mutex);
    >> + synchronize_rcu();
    >> +}
    >> +#else /* CONFIG_ACPI_APEI_SEI */
    >> +static inline void ghes_sei_add(struct ghes *ghes) { }
    >> +static inline void ghes_sei_remove(struct ghes *ghes) { }
    >> +#endif /* CONFIG_ACPI_APEI_SEI */
    >> +
    >> #ifdef CONFIG_HAVE_ACPI_APEI_NMI
    >> /*
    >
    >> index 8feb0c8..9ba59e2 100644
    >> --- a/include/acpi/ghes.h
    >> +++ b/include/acpi/ghes.h
    >> @@ -120,5 +120,6 @@ static inline void *acpi_hest_get_next(struct acpi_hest_generic_data *gdata)
    >> section = acpi_hest_get_next(section))
    >>
    >> int ghes_notify_sea(void);
    >> +int ghes_notify_sei(void);
    >
    > It would be nice to have a stub definition when !CONFIG_ACPI_APEI_SEI,
    > e.g.
    >
    > #ifdef CONFIG_ACPI_APEI_SEI
    > int ghes_notify_sei(void);
    > #else
    > static in int ghes_notify_sei(void) { return -ENOENT; }
    > #endif
    >
    > ... as callers could simply call this without additional checks.
    >
    > As a cleanup, similar would be nice for ghes_notify_sea() with
    > CONFIG_ACPI_APEI_SEA.

    I think your suggestion is better, I will do the cleanup include the ghes_notify_sea().
    thanks again.

    >
    > Thanks,
    > Mark.
    >
    > .
    >

    \
     
     \ /
      Last update: 2018-06-01 12:09    [W:3.258 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site