On Thu, Mar 17, 2016 at 04:32:56PM +0800, Xiao Guangrong wrote:
> +static void
> +nvdimm_dsm_function0(uint32_t supported_func, hwaddr dsm_mem_addr)
> +{
> +    NvdimmDsmFunc0Out func0 = {
> +        .len = cpu_to_le32(sizeof(func0)),
> +        .supported_func = cpu_to_le32(supported_func),
> +    };
> +    cpu_physical_memory_write(dsm_mem_addr, &func0, sizeof(func0));
> +}
> +
> +static void
> +nvdimm_dsm_no_payload(uint32_t func_ret_status, hwaddr dsm_mem_addr)
> +{
> +    NvdimmDsmFuncNoPayloadOut out = {
> +        .len = cpu_to_le32(sizeof(out)),
> +        .func_ret_status = cpu_to_le32(func_ret_status),
> +    };
> +    cpu_physical_memory_write(dsm_mem_addr, &out, sizeof(out));
> +}
> +
> +static void nvdimm_dsm_root(NvdimmDsmIn *in, hwaddr dsm_mem_addr)
> +{
> +    /*
> +     * function 0 is called to inquire which functions are supported by
> +     * OSPM
> +     */
> +    if (!in->function) {
> +        return nvdimm_dsm_function0(0 /* No function supported other
> +                                         than function 0 */, dsm_mem_addr);

The return type is void so "return foo()" looks strange.  I went back
and double-checked function prototypes because I was surprised by this
line of code.  Please use the conventional "foo(); return;" for void
return instead.

Attachment: signature.asc
Description: PGP signature

Reply via email to