1. 16 Apr, 2019 31 commits
    • Guenter Roeck's avatar
      hwmon: (pmbus/ucd900) Fix build warning · 64e51162
      Guenter Roeck authored
      If CONFIG_OF is not enabled, the following build warning is observed.
      
      drivers/hwmon/pmbus/ucd9000.c:154:34: warning:
      	‘ucd9000_of_match’ defined but not used
      
      Mark ucd9000_of_match as __maybe_unused to fix the problem.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      64e51162
    • Guenter Roeck's avatar
      hwmon: (pmbus/tps53679) Fix build warning · e91cb17b
      Guenter Roeck authored
      If CONFIG_OF is not enabled, the following build warning is observed.
      
      drivers/hwmon/pmbus/tps53679.c:100:34: warning:
      	‘tps53679_of_match’ defined but not used
      
      Marking tps53679_of_match as __maybe_unused fixes the problem.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      e91cb17b
    • Guenter Roeck's avatar
      hwmon: (pmbus/ucd9200): Mark ucd9200_of_match as maybe_unused · 9c6b0f75
      Guenter Roeck authored
      If CONFIG_OF is not enabled, the following build warning is
      observed.
      
      drivers/hwmon/pmbus/ucd9200.c:50:34: warning:
      	‘ucd9200_of_match’ defined but not used
      
      Mark it as __maybe_unused to fix the problem.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      9c6b0f75
    • Andrey Smirnov's avatar
      hwmon: (iio_hwmon) Simplify attr.name generation in iio_hwmon_probe() · cb202bb8
      Andrey Smirnov authored
      Since every call to devm_kasprintf() in the switch statement is mostly
      the same, we can move all of the shared code outside and capture
      differencies with two helper variables. No functional change intended.
      Signed-off-by: default avatarAndrey Smirnov <andrew.smirnov@gmail.com>
      Cc: Guenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      cb202bb8
    • Guenter Roeck's avatar
      hwmon: (jz4740) Use devm_platform_ioremap_resource · 5aaa5873
      Guenter Roeck authored
      The new helper devm_platform_ioremap_resource() wraps
      platform_get_resource() and devm_ioremap_resource() together.
      Use it to simplify the code.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      5aaa5873
    • Guenter Roeck's avatar
      hwmon: (w83773g) Use HWMON_CHANNEL_INFO macro · 2f2defda
      Guenter Roeck authored
      The HWMON_CHANNEL_INFO macro simplifies the code, reduces the likelihood
      of errors, and makes the code easier to read.
      
      The conversion was done automatically with coccinelle. The semantic patch
      used to make this change is as follows.
      
      @r@
      initializer list elements;
      identifier i;
      @@
      
      -u32 i[] = {
      -  elements,
      -  0
      -};
      
      @s@
      identifier r.i,j,ty;
      @@
      
      -struct hwmon_channel_info j = {
      -       .type = ty,
      -       .config = i,
      -};
      
      @script:ocaml t@
      ty << s.ty;
      elements << r.elements;
      shorter;
      elems;
      @@
      
      shorter :=
         make_ident (List.hd(List.rev (Str.split (Str.regexp "_") ty)));
      elems :=
         make_ident
          (String.concat ","
           (List.map (fun x -> Printf.sprintf "\n\t\t\t   %s" x)
             (Str.split (Str.regexp " , ") elements)))
      
      @@
      identifier s.j,t.shorter;
      identifier t.elems;
      @@
      
      - &j
      + HWMON_CHANNEL_INFO(shorter,elems)
      
      This patch does not introduce functional changes. Many thanks to
      Julia Lawall for providing the semantic patch.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      2f2defda
    • Guenter Roeck's avatar
      hwmon: (tmp108) Use HWMON_CHANNEL_INFO macro · 6cbd4926
      Guenter Roeck authored
      The HWMON_CHANNEL_INFO macro simplifies the code, reduces the likelihood
      of errors, and makes the code easier to read.
      
      The conversion was done automatically with coccinelle. The semantic patch
      used to make this change is as follows.
      
      @r@
      initializer list elements;
      identifier i;
      @@
      
      -u32 i[] = {
      -  elements,
      -  0
      -};
      
      @s@
      identifier r.i,j,ty;
      @@
      
      -struct hwmon_channel_info j = {
      -       .type = ty,
      -       .config = i,
      -};
      
      @script:ocaml t@
      ty << s.ty;
      elements << r.elements;
      shorter;
      elems;
      @@
      
      shorter :=
         make_ident (List.hd(List.rev (Str.split (Str.regexp "_") ty)));
      elems :=
         make_ident
          (String.concat ","
           (List.map (fun x -> Printf.sprintf "\n\t\t\t   %s" x)
             (Str.split (Str.regexp " , ") elements)))
      
      @@
      identifier s.j,t.shorter;
      identifier t.elems;
      @@
      
      - &j
      + HWMON_CHANNEL_INFO(shorter,elems)
      
      This patch does not introduce functional changes. Many thanks to
      Julia Lawall for providing the semantic patch.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      6cbd4926
    • Guenter Roeck's avatar
      hwmon: (tmp102) Use HWMON_CHANNEL_INFO macro · 88078254
      Guenter Roeck authored
      The HWMON_CHANNEL_INFO macro simplifies the code, reduces the likelihood
      of errors, and makes the code easier to read.
      
      The conversion was done automatically with coccinelle. The semantic patch
      used to make this change is as follows.
      
      @r@
      initializer list elements;
      identifier i;
      @@
      
      -u32 i[] = {
      -  elements,
      -  0
      -};
      
      @s@
      identifier r.i,j,ty;
      @@
      
      -struct hwmon_channel_info j = {
      -       .type = ty,
      -       .config = i,
      -};
      
      @script:ocaml t@
      ty << s.ty;
      elements << r.elements;
      shorter;
      elems;
      @@
      
      shorter :=
         make_ident (List.hd(List.rev (Str.split (Str.regexp "_") ty)));
      elems :=
         make_ident
          (String.concat ","
           (List.map (fun x -> Printf.sprintf "\n\t\t\t   %s" x)
             (Str.split (Str.regexp " , ") elements)))
      
      @@
      identifier s.j,t.shorter;
      identifier t.elems;
      @@
      
      - &j
      + HWMON_CHANNEL_INFO(shorter,elems)
      
      This patch does not introduce functional changes. Many thanks to
      Julia Lawall for providing the semantic patch.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      88078254
    • Guenter Roeck's avatar
      hwmon: (raspberrypi-hwmon) Use HWMON_CHANNEL_INFO macro · 0c42186e
      Guenter Roeck authored
      The HWMON_CHANNEL_INFO macro simplifies the code, reduces the likelihood
      of errors, and makes the code easier to read.
      
      The conversion was done automatically with coccinelle. The semantic patch
      used to make this change is as follows.
      
      @r@
      initializer list elements;
      identifier i;
      @@
      
      -u32 i[] = {
      -  elements,
      -  0
      -};
      
      @s@
      identifier r.i,j,ty;
      @@
      
      -struct hwmon_channel_info j = {
      -       .type = ty,
      -       .config = i,
      -};
      
      @script:ocaml t@
      ty << s.ty;
      elements << r.elements;
      shorter;
      elems;
      @@
      
      shorter :=
         make_ident (List.hd(List.rev (Str.split (Str.regexp "_") ty)));
      elems :=
         make_ident
          (String.concat ","
           (List.map (fun x -> Printf.sprintf "\n\t\t\t   %s" x)
             (Str.split (Str.regexp " , ") elements)))
      
      @@
      identifier s.j,t.shorter;
      identifier t.elems;
      @@
      
      - &j
      + HWMON_CHANNEL_INFO(shorter,elems)
      
      This patch does not introduce functional changes. Many thanks to
      Julia Lawall for providing the semantic patch.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      0c42186e
    • Guenter Roeck's avatar
      hwmon: (npcm750-pwm-fan) Use HWMON_CHANNEL_INFO macro · dfeace08
      Guenter Roeck authored
      The HWMON_CHANNEL_INFO macro simplifies the code, reduces the likelihood
      of errors, and makes the code easier to read.
      
      The conversion was done automatically with coccinelle. The semantic patch
      used to make this change is as follows.
      
      @r@
      initializer list elements;
      identifier i;
      @@
      
      -u32 i[] = {
      -  elements,
      -  0
      -};
      
      @s@
      identifier r.i,j,ty;
      @@
      
      -struct hwmon_channel_info j = {
      -       .type = ty,
      -       .config = i,
      -};
      
      @script:ocaml t@
      ty << s.ty;
      elements << r.elements;
      shorter;
      elems;
      @@
      
      shorter :=
         make_ident (List.hd(List.rev (Str.split (Str.regexp "_") ty)));
      elems :=
         make_ident
          (String.concat ","
           (List.map (fun x -> Printf.sprintf "\n\t\t\t   %s" x)
             (Str.split (Str.regexp " , ") elements)))
      
      @@
      identifier s.j,t.shorter;
      identifier t.elems;
      @@
      
      - &j
      + HWMON_CHANNEL_INFO(shorter,elems)
      
      This patch does not introduce functional changes. Many thanks to
      Julia Lawall for providing the semantic patch.
      
      Cc: Avi Fishman <avifishman70@gmail.com>
      Cc: Tomer Maimon <tmaimon77@gmail.com>
      Cc: Patrick Venture <venture@google.com>
      Cc: Nancy Yuen <yuenn@google.com>
      Cc: Brendan Higgins <brendanhiggins@google.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      dfeace08
    • Guenter Roeck's avatar
      hwmon: (mlxreg-fan) Use HWMON_CHANNEL_INFO macro · 725dcf08
      Guenter Roeck authored
      The HWMON_CHANNEL_INFO macro simplifies the code, reduces the likelihood
      of errors, and makes the code easier to read.
      
      The conversion was done automatically with coccinelle. The semantic patch
      used to make this change is as follows.
      
      @r@
      initializer list elements;
      identifier i;
      @@
      
      -u32 i[] = {
      -  elements,
      -  0
      -};
      
      @s@
      identifier r.i,j,ty;
      @@
      
      -struct hwmon_channel_info j = {
      -       .type = ty,
      -       .config = i,
      -};
      
      @script:ocaml t@
      ty << s.ty;
      elements << r.elements;
      shorter;
      elems;
      @@
      
      shorter :=
         make_ident (List.hd(List.rev (Str.split (Str.regexp "_") ty)));
      elems :=
         make_ident
          (String.concat ","
           (List.map (fun x -> Printf.sprintf "\n\t\t\t   %s" x)
             (Str.split (Str.regexp " , ") elements)))
      
      @@
      identifier s.j,t.shorter;
      identifier t.elems;
      @@
      
      - &j
      + HWMON_CHANNEL_INFO(shorter,elems)
      
      This patch does not introduce functional changes. Many thanks to
      Julia Lawall for providing the semantic patch.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      725dcf08
    • Guenter Roeck's avatar
      hwmon: (max6621) Use HWMON_CHANNEL_INFO macro · dcb00ee8
      Guenter Roeck authored
      The HWMON_CHANNEL_INFO macro simplifies the code, reduces the likelihood
      of errors, and makes the code easier to read.
      
      The conversion was done automatically with coccinelle. The semantic patch
      used to make this change is as follows.
      
      @r@
      initializer list elements;
      identifier i;
      @@
      
      -u32 i[] = {
      -  elements,
      -  0
      -};
      
      @s@
      identifier r.i,j,ty;
      @@
      
      -struct hwmon_channel_info j = {
      -       .type = ty,
      -       .config = i,
      -};
      
      @script:ocaml t@
      ty << s.ty;
      elements << r.elements;
      shorter;
      elems;
      @@
      
      shorter :=
         make_ident (List.hd(List.rev (Str.split (Str.regexp "_") ty)));
      elems :=
         make_ident
          (String.concat ","
           (List.map (fun x -> Printf.sprintf "\n\t\t\t   %s" x)
             (Str.split (Str.regexp " , ") elements)))
      
      @@
      identifier s.j,t.shorter;
      identifier t.elems;
      @@
      
      - &j
      + HWMON_CHANNEL_INFO(shorter,elems)
      
      This patch does not introduce functional changes. Many thanks to
      Julia Lawall for providing the semantic patch.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      dcb00ee8
    • Guenter Roeck's avatar
      hwmon: (max31790) Use HWMON_CHANNEL_INFO macro · b605e671
      Guenter Roeck authored
      The HWMON_CHANNEL_INFO macro simplifies the code, reduces the likelihood
      of errors, and makes the code easier to read.
      
      The conversion was done automatically with coccinelle. The semantic patch
      used to make this change is as follows.
      
      @r@
      initializer list elements;
      identifier i;
      @@
      
      -u32 i[] = {
      -  elements,
      -  0
      -};
      
      @s@
      identifier r.i,j,ty;
      @@
      
      -struct hwmon_channel_info j = {
      -       .type = ty,
      -       .config = i,
      -};
      
      @script:ocaml t@
      ty << s.ty;
      elements << r.elements;
      shorter;
      elems;
      @@
      
      shorter :=
         make_ident (List.hd(List.rev (Str.split (Str.regexp "_") ty)));
      elems :=
         make_ident
          (String.concat ","
           (List.map (fun x -> Printf.sprintf "\n\t\t\t   %s" x)
             (Str.split (Str.regexp " , ") elements)))
      
      @@
      identifier s.j,t.shorter;
      identifier t.elems;
      @@
      
      - &j
      + HWMON_CHANNEL_INFO(shorter,elems)
      
      This patch does not introduce functional changes. Many thanks to
      Julia Lawall for providing the semantic patch.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      b605e671
    • Guenter Roeck's avatar
      hwmon: (ltq-cputemp) Use HWMON_CHANNEL_INFO macro · f4a407f4
      Guenter Roeck authored
      The HWMON_CHANNEL_INFO macro simplifies the code, reduces the likelihood
      of errors, and makes the code easier to read.
      
      The conversion was done automatically with coccinelle. The semantic patch
      used to make this change is as follows.
      
      @r@
      initializer list elements;
      identifier i;
      @@
      
      -u32 i[] = {
      -  elements,
      -  0
      -};
      
      @s@
      identifier r.i,j,ty;
      @@
      
      -struct hwmon_channel_info j = {
      -       .type = ty,
      -       .config = i,
      -};
      
      @script:ocaml t@
      ty << s.ty;
      elements << r.elements;
      shorter;
      elems;
      @@
      
      shorter :=
         make_ident (List.hd(List.rev (Str.split (Str.regexp "_") ty)));
      elems :=
         make_ident
          (String.concat ","
           (List.map (fun x -> Printf.sprintf "\n\t\t\t   %s" x)
             (Str.split (Str.regexp " , ") elements)))
      
      @@
      identifier s.j,t.shorter;
      identifier t.elems;
      @@
      
      - &j
      + HWMON_CHANNEL_INFO(shorter,elems)
      
      This patch does not introduce functional changes. Many thanks to
      Julia Lawall for providing the semantic patch.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      f4a407f4
    • Guenter Roeck's avatar
      hwmon: (ltc4245) Use HWMON_CHANNEL_INFO macro · 0ee508f0
      Guenter Roeck authored
      The HWMON_CHANNEL_INFO macro simplifies the code, reduces the likelihood
      of errors, and makes the code easier to read.
      
      The conversion was done automatically with coccinelle. The semantic patch
      used to make this change is as follows.
      
      @r@
      initializer list elements;
      identifier i;
      @@
      
      -u32 i[] = {
      -  elements,
      -  0
      -};
      
      @s@
      identifier r.i,j,ty;
      @@
      
      -struct hwmon_channel_info j = {
      -       .type = ty,
      -       .config = i,
      -};
      
      @script:ocaml t@
      ty << s.ty;
      elements << r.elements;
      shorter;
      elems;
      @@
      
      shorter :=
         make_ident (List.hd(List.rev (Str.split (Str.regexp "_") ty)));
      elems :=
         make_ident
          (String.concat ","
           (List.map (fun x -> Printf.sprintf "\n\t\t\t   %s" x)
             (Str.split (Str.regexp " , ") elements)))
      
      @@
      identifier s.j,t.shorter;
      identifier t.elems;
      @@
      
      - &j
      + HWMON_CHANNEL_INFO(shorter,elems)
      
      This patch does not introduce functional changes. Many thanks to
      Julia Lawall for providing the semantic patch.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      0ee508f0
    • Guenter Roeck's avatar
      hwmon: (lm95245) Use HWMON_CHANNEL_INFO macro · 7aea0064
      Guenter Roeck authored
      The HWMON_CHANNEL_INFO macro simplifies the code, reduces the likelihood
      of errors, and makes the code easier to read.
      
      The conversion was done automatically with coccinelle. The semantic patch
      used to make this change is as follows.
      
      @r@
      initializer list elements;
      identifier i;
      @@
      
      -u32 i[] = {
      -  elements,
      -  0
      -};
      
      @s@
      identifier r.i,j,ty;
      @@
      
      -struct hwmon_channel_info j = {
      -       .type = ty,
      -       .config = i,
      -};
      
      @script:ocaml t@
      ty << s.ty;
      elements << r.elements;
      shorter;
      elems;
      @@
      
      shorter :=
         make_ident (List.hd(List.rev (Str.split (Str.regexp "_") ty)));
      elems :=
         make_ident
          (String.concat ","
           (List.map (fun x -> Printf.sprintf "\n\t\t\t   %s" x)
             (Str.split (Str.regexp " , ") elements)))
      
      @@
      identifier s.j,t.shorter;
      identifier t.elems;
      @@
      
      - &j
      + HWMON_CHANNEL_INFO(shorter,elems)
      
      This patch does not introduce functional changes. Many thanks to
      Julia Lawall for providing the semantic patch.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      7aea0064
    • Guenter Roeck's avatar
      hwmon: (lm95241) Use HWMON_CHANNEL_INFO macro · f5011f9f
      Guenter Roeck authored
      The HWMON_CHANNEL_INFO macro simplifies the code, reduces the likelihood
      of errors, and makes the code easier to read.
      
      The conversion was done automatically with coccinelle. The semantic patch
      used to make this change is as follows.
      
      @r@
      initializer list elements;
      identifier i;
      @@
      
      -u32 i[] = {
      -  elements,
      -  0
      -};
      
      @s@
      identifier r.i,j,ty;
      @@
      
      -struct hwmon_channel_info j = {
      -       .type = ty,
      -       .config = i,
      -};
      
      @script:ocaml t@
      ty << s.ty;
      elements << r.elements;
      shorter;
      elems;
      @@
      
      shorter :=
         make_ident (List.hd(List.rev (Str.split (Str.regexp "_") ty)));
      elems :=
         make_ident
          (String.concat ","
           (List.map (fun x -> Printf.sprintf "\n\t\t\t   %s" x)
             (Str.split (Str.regexp " , ") elements)))
      
      @@
      identifier s.j,t.shorter;
      identifier t.elems;
      @@
      
      - &j
      + HWMON_CHANNEL_INFO(shorter,elems)
      
      This patch does not introduce functional changes. Many thanks to
      Julia Lawall for providing the semantic patch.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      f5011f9f
    • Guenter Roeck's avatar
      hwmon: (lm90) Use HWMON_CHANNEL_INFO macro · a4d41e67
      Guenter Roeck authored
      The HWMON_CHANNEL_INFO macro simplifies the code, reduces the likelihood
      of errors, and makes the code easier to read.
      
      The conversion was done automatically with coccinelle. The semantic patch
      used to make this change is as follows.
      
      @r@
      initializer list elements;
      identifier i;
      @@
      
      -u32 i[] = {
      -  elements,
      -  0
      -};
      
      @s@
      identifier r.i,j,ty;
      @@
      
      -struct hwmon_channel_info j = {
      -       .type = ty,
      -       .config = i,
      -};
      
      @script:ocaml t@
      ty << s.ty;
      elements << r.elements;
      shorter;
      elems;
      @@
      
      shorter :=
         make_ident (List.hd(List.rev (Str.split (Str.regexp "_") ty)));
      elems :=
         make_ident
          (String.concat ","
           (List.map (fun x -> Printf.sprintf "\n\t\t\t   %s" x)
             (Str.split (Str.regexp " , ") elements)))
      
      @@
      identifier s.j,t.shorter;
      identifier t.elems;
      @@
      
      - &j
      + HWMON_CHANNEL_INFO(shorter,elems)
      
      This patch does not introduce functional changes. Many thanks to
      Julia Lawall for providing the semantic patch.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      a4d41e67
    • Guenter Roeck's avatar
      hwmon: (lm75) Use HWMON_CHANNEL_INFO macro · e4f6fed1
      Guenter Roeck authored
      The HWMON_CHANNEL_INFO macro simplifies the code, reduces the likelihood
      of errors, and makes the code easier to read.
      
      The conversion was done automatically with coccinelle. The semantic patch
      used to make this change is as follows.
      
      @r@
      initializer list elements;
      identifier i;
      @@
      
      -u32 i[] = {
      -  elements,
      -  0
      -};
      
      @s@
      identifier r.i,j,ty;
      @@
      
      -struct hwmon_channel_info j = {
      -       .type = ty,
      -       .config = i,
      -};
      
      @script:ocaml t@
      ty << s.ty;
      elements << r.elements;
      shorter;
      elems;
      @@
      
      shorter :=
         make_ident (List.hd(List.rev (Str.split (Str.regexp "_") ty)));
      elems :=
         make_ident
          (String.concat ","
           (List.map (fun x -> Printf.sprintf "\n\t\t\t   %s" x)
             (Str.split (Str.regexp " , ") elements)))
      
      @@
      identifier s.j,t.shorter;
      identifier t.elems;
      @@
      
      - &j
      + HWMON_CHANNEL_INFO(shorter,elems)
      
      This patch does not introduce functional changes. Many thanks to
      Julia Lawall for providing the semantic patch.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      e4f6fed1
    • Guenter Roeck's avatar
      hwmon: (jc42) Use HWMON_CHANNEL_INFO macro · 1eade10f
      Guenter Roeck authored
      The HWMON_CHANNEL_INFO macro simplifies the code, reduces the likelihood
      of errors, and makes the code easier to read.
      
      The conversion was done automatically with coccinelle. The semantic patch
      used to make this change is as follows.
      
      @r@
      initializer list elements;
      identifier i;
      @@
      
      -u32 i[] = {
      -  elements,
      -  0
      -};
      
      @s@
      identifier r.i,j,ty;
      @@
      
      -struct hwmon_channel_info j = {
      -       .type = ty,
      -       .config = i,
      -};
      
      @script:ocaml t@
      ty << s.ty;
      elements << r.elements;
      shorter;
      elems;
      @@
      
      shorter :=
         make_ident (List.hd(List.rev (Str.split (Str.regexp "_") ty)));
      elems :=
         make_ident
          (String.concat ","
           (List.map (fun x -> Printf.sprintf "\n\t\t\t   %s" x)
             (Str.split (Str.regexp " , ") elements)))
      
      @@
      identifier s.j,t.shorter;
      identifier t.elems;
      @@
      
      - &j
      + HWMON_CHANNEL_INFO(shorter,elems)
      
      This patch does not introduce functional changes. Many thanks to
      Julia Lawall for providing the semantic patch.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      1eade10f
    • Guenter Roeck's avatar
      hwmon: (ina3221) Use HWMON_CHANNEL_INFO macro · 6f307b7c
      Guenter Roeck authored
      The HWMON_CHANNEL_INFO macro simplifies the code, reduces the likelihood
      of errors, and makes the code easier to read.
      
      The conversion was done automatically with coccinelle. The semantic patch
      used to make this change is as follows.
      
      @r@
      initializer list elements;
      identifier i;
      @@
      
      -u32 i[] = {
      -  elements,
      -  0
      -};
      
      @s@
      identifier r.i,j,ty;
      @@
      
      -struct hwmon_channel_info j = {
      -       .type = ty,
      -       .config = i,
      -};
      
      @script:ocaml t@
      ty << s.ty;
      elements << r.elements;
      shorter;
      elems;
      @@
      
      shorter :=
         make_ident (List.hd(List.rev (Str.split (Str.regexp "_") ty)));
      elems :=
         make_ident
          (String.concat ","
           (List.map (fun x -> Printf.sprintf "\n\t\t\t   %s" x)
             (Str.split (Str.regexp " , ") elements)))
      
      @@
      identifier s.j,t.shorter;
      identifier t.elems;
      @@
      
      - &j
      + HWMON_CHANNEL_INFO(shorter,elems)
      
      This patch does not introduce functional changes. Many thanks to
      Julia Lawall for providing the semantic patch.
      
      The patch was post-edited to retain comments.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      6f307b7c
    • Guenter Roeck's avatar
      hwmon: (adt7411) Use HWMON_CHANNEL_INFO macro · ff56121e
      Guenter Roeck authored
      The HWMON_CHANNEL_INFO macro simplifies the code, reduces the likelihood
      of errors, and makes the code easier to read.
      
      The conversion was done automatically with coccinelle. The semantic patch
      used to make this change is as follows.
      
      @r@
      initializer list elements;
      identifier i;
      @@
      
      -u32 i[] = {
      -  elements,
      -  0
      -};
      
      @s@
      identifier r.i,j,ty;
      @@
      
      -struct hwmon_channel_info j = {
      -       .type = ty,
      -       .config = i,
      -};
      
      @script:ocaml t@
      ty << s.ty;
      elements << r.elements;
      shorter;
      elems;
      @@
      
      shorter :=
         make_ident (List.hd(List.rev (Str.split (Str.regexp "_") ty)));
      elems :=
         make_ident
          (String.concat ","
           (List.map (fun x -> Printf.sprintf "\n\t\t\t   %s" x)
             (Str.split (Str.regexp " , ") elements)))
      
      @@
      identifier s.j,t.shorter;
      identifier t.elems;
      @@
      
      - &j
      + HWMON_CHANNEL_INFO(shorter,elems)
      
      This patch does not introduce functional changes. Many thanks to
      Julia Lawall for providing the semantic patch.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      ff56121e
    • Guenter Roeck's avatar
      hwmon: Documentation: Add usage example for HWMON_CHANNEL_INFO · 6bf2db46
      Guenter Roeck authored
      The new HWMON_CHANNEL_INFO macro simplifies the code, reduces the
      likelihood of errors, and makes the code easier to read. Add a usage
      example to help driver writers to actually use it.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      6bf2db46
    • Guenter Roeck's avatar
      hwmon: (nct7904) Use new HWMON_CHANNEL_INFO() macro · 4ec1d234
      Guenter Roeck authored
      The new macro simplifies the code, reduces the likelihood of errors,
      and makes the code easier to read.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      4ec1d234
    • Lucas Tanure's avatar
      hwmon: lochnagar: Add Lochnagar 2 hardware monitoring driver · 4cdb5621
      Lucas Tanure authored
      Lochnagar is an evaluation and development board for Cirrus
      Logic Smart CODEC and Amp devices. It allows the connection of
      most Cirrus Logic devices on mini-cards, as well as allowing
      connection of various application processor systems to provide a
      full evaluation platform.
      
      This driver adds support for the hardware monitoring features of
      the Lochnagar 2 to the hwmon API. Monitoring is provided for
      the board voltages, currents and temperature supported by the
      board controller chip.
      Signed-off-by: default avatarLucas Tanure <tanureal@opensource.cirrus.com>
      Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      4cdb5621
    • Charles Keepax's avatar
      hwmon: lochnagar: Add device tree binding document · 5ad4d7ca
      Charles Keepax authored
      Lochnagar is an evaluation and development board for Cirrus
      Logic Smart CODEC and Amp devices. It allows the connection of
      most Cirrus Logic devices on mini-cards, as well as allowing
      connection of various application processor systems to provide a
      full evaluation platform. This driver supports the board
      controller chip on the Lochnagar board.
      Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      5ad4d7ca
    • Guenter Roeck's avatar
      hwmon: (ntc_thermistor) Use new HWMON_CHANNEL_INFO() macro · 0ddca577
      Guenter Roeck authored
      The new macro is indeed quite useful. Let's use it.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      0ddca577
    • Charles Keepax's avatar
      hwmon: Add convience macro to define simple static sensors · c43a113c
      Charles Keepax authored
      It takes a fair amount of boiler plate code to add new sensors, add a
      macro that can be used to specify simple static sensors.
      Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      c43a113c
    • Vadim Pasternak's avatar
      hwmon: (mlxreg-fan) Add support for fan capability registers · b429ebc8
      Vadim Pasternak authored
      Add support for fan capability registers in order to distinct between
      the systems which have minor fan configuration differences. This
      reduces the amount of code used to describe such systems.
      The capability registers provides system specific information about the
      number of physically connected tachometers and system specific fan
      speed scale parameter.
      For example one system can be equipped with twelve fan tachometers,
      while the other with for example, eight or six. Or one system should
      use default fan speed divider value, while the other has a scale
      parameter defined in hardware, which should be used for divider
      setting.
      Reading this information from the capability registers allows to use the
      same fan structure for the systems with the such differences.
      Signed-off-by: default avatarVadim Pasternak <vadimp@mellanox.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      b429ebc8
    • Lei YU's avatar
      hwmon: (occ) Fix extended status bits · b88c5049
      Lei YU authored
      The occ's extended status is checked and shown as sysfs attributes. But
      the code was incorrectly checking the "status" bits.
      Fix it by checking the "ext_status" bits.
      
      Cc: stable@vger.kernel.org
      Fixes: df04ced6 ("hwmon (occ): Add sysfs attributes for additional OCC data")
      Signed-off-by: default avatarLei YU <mine260309@gmail.com>
      Reviewed-by: default avatarEddie James <eajames@linux.ibm.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      b88c5049
    • Stefan Wahren's avatar
      hwmon: (pwm-fan) Disable PWM if fetching cooling data fails · 53f1647d
      Stefan Wahren authored
      In case pwm_fan_of_get_cooling_data() fails we should disable the PWM
      just like in the other error cases.
      
      Fixes: 2e5219c7 ("hwmon: (pwm-fan) Read PWM FAN configuration from device tree")
      Cc: <stable@vger.kernel.org> # 4.14+
      Reported-by: default avatarGuenter Rock <linux@roeck-us.net>
      Signed-off-by: default avatarStefan Wahren <stefan.wahren@i2se.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      53f1647d
  2. 08 Apr, 2019 1 commit
  3. 07 Apr, 2019 8 commits
    • Linus Torvalds's avatar
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · d8491223
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "A collection of fixes from the last few weeks. Most of them are
        smaller tweaks and fixes to DT and hardware descriptions for boards.
        Some of the more significant ones are:
      
         - eMMC and RGMII stability tweaks for rk3288
      
         - DDC fixes for Rock PI 4
      
         - Audio fixes for two TI am335x eval boards
      
         - D_CAN clock fix for am335x
      
         - Compilation fixes for clang
      
         - !HOTPLUG_CPU compilation fix for one of the new platforms this
           release (milbeaut)
      
         - A revert of a gpio fix for nomadik that instead was fixed in the
           gpio subsystem
      
         - Whitespace fix for the DT JSON schema (no tabs allowed)"
      
      * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (25 commits)
        ARM: milbeaut: fix build with !CONFIG_HOTPLUG_CPU
        ARM: iop: don't use using 64-bit DMA masks
        ARM: orion: don't use using 64-bit DMA masks
        Revert "ARM: dts: nomadik: Fix polarity of SPI CS"
        dt-bindings: cpu: Fix JSON schema
        arm/mach-at91/pm : fix possible object reference leak
        ARM: dts: at91: Fix typo in ISC_D0 on PC9
        ARM: dts: Fix dcan clkctrl clock for am3
        reset: meson-audio-arb: Fix missing .owner setting of reset_controller_dev
        dt-bindings: reset: meson-g12a: Add missing USB2 PHY resets
        ARM: dts: rockchip: Remove #address/#size-cells from rk3288-veyron gpio-keys
        ARM: dts: rockchip: Remove #address/#size-cells from rk3288 mipi_dsi
        ARM: dts: rockchip: Fix gpu opp node names for rk3288
        ARM: dts: am335x-evmsk: Correct the regulators for the audio codec
        ARM: dts: am335x-evm: Correct the regulators for the audio codec
        ARM: OMAP2+: add missing of_node_put after of_device_is_available
        ARM: OMAP1: ams-delta: Fix broken GPIO ID allocation
        arm64: dts: stratix10: add the sysmgr-syscon property from the gmac's
        arm64: dts: rockchip: fix rk3328 sdmmc0 write errors
        arm64: dts: rockchip: fix rk3328 rgmii high tx error rate
        ...
      d8491223
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20190407' of git://git.kernel.dk/linux-block · 429fba10
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - Fixups for the pf/pcd queue handling (YueHaibing)
      
       - Revert of the three direct issue changes as they have been proven to
         cause an issue with dm-mpath (Bart)
      
       - Plug rq_count reset fix (Dongli)
      
       - io_uring double free in fileset registration error handling (me)
      
       - Make null_blk handle bad numa node passed in (John)
      
       - BFQ ifdef fix (Konstantin)
      
       - Flush queue leak fix (Shenghui)
      
       - Plug trace fix (Yufen)
      
      * tag 'for-linus-20190407' of git://git.kernel.dk/linux-block:
        xsysace: Fix error handling in ace_setup
        null_blk: prevent crash from bad home_node value
        block: Revert v5.0 blk_mq_request_issue_directly() changes
        paride/pcd: Fix potential NULL pointer dereference and mem leak
        blk-mq: do not reset plug->rq_count before the list is sorted
        paride/pf: Fix potential NULL pointer dereference
        io_uring: fix double free in case of fileset regitration failure
        blk-mq: add trace block plug and unplug for multiple queues
        block: use blk_free_flush_queue() to free hctx->fq in blk_mq_init_hctx
        block/bfq: fix ifdef for CONFIG_BFQ_GROUP_IOSCHED=y
      429fba10
    • Arnd Bergmann's avatar
      ARM: milbeaut: fix build with !CONFIG_HOTPLUG_CPU · 9a8f3203
      Arnd Bergmann authored
      When HOTPLUG_CPU is disabled, some fields in the smp operations
      are not available or needed:
      
      arch/arm/mach-milbeaut/platsmp.c:90:3: error: field designator 'cpu_die' does not refer to any field in type
            'struct smp_operations'
              .cpu_die                = m10v_cpu_die,
               ^
      arch/arm/mach-milbeaut/platsmp.c:91:3: error: field designator 'cpu_kill' does not refer to any field in type
            'struct smp_operations'
              .cpu_kill               = m10v_cpu_kill,
               ^
      
      Hide them in an #ifdef like the other platforms do.
      
      Fixes: 9fb29c73 ("ARM: milbeaut: Add basic support for Milbeaut m10v SoC")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      9a8f3203
    • Arnd Bergmann's avatar
      ARM: iop: don't use using 64-bit DMA masks · 2125801c
      Arnd Bergmann authored
      clang warns about statically defined DMA masks from the DMA_BIT_MASK
      macro with length 64:
      
       arch/arm/mach-iop13xx/setup.c:303:35: error: shift count >= width of type [-Werror,-Wshift-count-overflow]
       static u64 iop13xx_adma_dmamask = DMA_BIT_MASK(64);
                                        ^~~~~~~~~~~~~~~~
       include/linux/dma-mapping.h:141:54: note: expanded from macro 'DMA_BIT_MASK'
       #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
                                                            ^ ~~~
      
      The ones in iop shouldn't really be 64 bit masks, so changing them
      to what the driver can support avoids the warning.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      2125801c
    • Arnd Bergmann's avatar
      ARM: orion: don't use using 64-bit DMA masks · cd92d74d
      Arnd Bergmann authored
      clang warns about statically defined DMA masks from the DMA_BIT_MASK
      macro with length 64:
      
      arch/arm/plat-orion/common.c:625:29: error: shift count >= width of type [-Werror,-Wshift-count-overflow]
                      .coherent_dma_mask      = DMA_BIT_MASK(64),
                                                ^~~~~~~~~~~~~~~~
      include/linux/dma-mapping.h:141:54: note: expanded from macro 'DMA_BIT_MASK'
       #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
      
      The ones in orion shouldn't really be 64 bit masks, so changing them
      to what the driver can support avoids the warning.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      cd92d74d
    • Olof Johansson's avatar
      Revert "ARM: dts: nomadik: Fix polarity of SPI CS" · fbe8758f
      Olof Johansson authored
      This reverts commit fa946356.
      
      Per Linus Walleij:
      
      Dear ARM SoC maintainers,
      
      can you please revert this patch. It was the wrong solution to the
      wrong problem, and I must have acted in stress. Andrey fixed the
      real bug in a proper way in these commits:
      
      commit e5545c94
      "gpio: of: Check propname before applying "cs-gpios" quirks"
      commit 7ce40277
      "gpio: of: Check for "spi-cs-high" in child instead of parent node"
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      fbe8758f
    • Olof Johansson's avatar
      Merge tag 'omap-for-v5.1/fixes-signed' of... · c983f102
      Olof Johansson authored
      Merge tag 'omap-for-v5.1/fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/fixes
      
      Fixes for omaps for v5.1-rc cycle
      
      Few small fixes for omap variants:
      
      - Fix ams-delta gpio IDs
      - Add missing of_node_put for omapdss platform init code
      - Fix unconfigured audio regulators for two am335x boards
      - Fix use of wrong offset for am335x d_can clocks
      
      * tag 'omap-for-v5.1/fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: dts: Fix dcan clkctrl clock for am3
        ARM: dts: am335x-evmsk: Correct the regulators for the audio codec
        ARM: dts: am335x-evm: Correct the regulators for the audio codec
        ARM: OMAP2+: add missing of_node_put after of_device_is_available
        ARM: OMAP1: ams-delta: Fix broken GPIO ID allocation
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      c983f102
    • Olof Johansson's avatar
      Merge tag 'at91-5.1-fixes' of... · fccf5166
      Olof Johansson authored
      Merge tag 'at91-5.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/fixes
      
      AT91 fixes for 5.1
      
      - fix a typo in sama5d2 pinmuxing which concerns the ISC data 0 signal
      - fix a kobject reference leak
      
      * tag 'at91-5.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
        arm/mach-at91/pm : fix possible object reference leak
        ARM: dts: at91: Fix typo in ISC_D0 on PC9
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      fccf5166