Add is_valid_path API to check whether the sysfs file is present or not.
Suggested-by: Gautham R. Shenoy <[email protected]>
Reviewed-by: Mario Limonciello <[email protected]>
Signed-off-by: Wyes Karny <[email protected]>
---
tools/power/cpupower/lib/cpupower.c | 7 +++++++
tools/power/cpupower/lib/cpupower_intern.h | 1 +
2 files changed, 8 insertions(+)
diff --git a/tools/power/cpupower/lib/cpupower.c b/tools/power/cpupower/lib/cpupower.c
index 3f7d0c0c5067..7a2ef691b20e 100644
--- a/tools/power/cpupower/lib/cpupower.c
+++ b/tools/power/cpupower/lib/cpupower.c
@@ -14,6 +14,13 @@
#include "cpupower.h"
#include "cpupower_intern.h"
+int is_valid_path(const char *path)
+{
+ if (access(path, F_OK) == -1)
+ return 0;
+ return 1;
+}
+
unsigned int cpupower_read_sysfs(const char *path, char *buf, size_t buflen)
{
ssize_t numread;
diff --git a/tools/power/cpupower/lib/cpupower_intern.h b/tools/power/cpupower/lib/cpupower_intern.h
index ac1112b956ec..5fdb8620d41b 100644
--- a/tools/power/cpupower/lib/cpupower_intern.h
+++ b/tools/power/cpupower/lib/cpupower_intern.h
@@ -7,5 +7,6 @@
#define SYSFS_PATH_MAX 255
+int is_valid_path(const char *path);
unsigned int cpupower_read_sysfs(const char *path, char *buf, size_t buflen);
unsigned int cpupower_write_sysfs(const char *path, char *buf, size_t buflen);
--
2.34.1
[AMD Official Use Only - General]
> -----Original Message-----
> From: Karny, Wyes <[email protected]>
> Sent: Tuesday, June 20, 2023 3:05 AM
> To: [email protected]; [email protected]
> Cc: [email protected]; [email protected]; [email protected];
> Shenoy, Gautham Ranjal <[email protected]>; Limonciello, Mario
> <[email protected]>; Huang, Ray <[email protected]>; Yuan,
> Perry <[email protected]>; Karny, Wyes <[email protected]>;
> Limonciello, Mario <[email protected]>
> Subject: [PATCH v3 2/5] cpupower: Add is_valid_path API
>
> Add is_valid_path API to check whether the sysfs file is present or not.
>
> Suggested-by: Gautham R. Shenoy <[email protected]>
> Reviewed-by: Mario Limonciello <[email protected]>
> Signed-off-by: Wyes Karny <[email protected]>
> ---
> tools/power/cpupower/lib/cpupower.c | 7 +++++++
> tools/power/cpupower/lib/cpupower_intern.h | 1 +
> 2 files changed, 8 insertions(+)
>
> diff --git a/tools/power/cpupower/lib/cpupower.c
> b/tools/power/cpupower/lib/cpupower.c
> index 3f7d0c0c5067..7a2ef691b20e 100644
> --- a/tools/power/cpupower/lib/cpupower.c
> +++ b/tools/power/cpupower/lib/cpupower.c
> @@ -14,6 +14,13 @@
> #include "cpupower.h"
> #include "cpupower_intern.h"
>
> +int is_valid_path(const char *path)
> +{
> + if (access(path, F_OK) == -1)
> + return 0;
> + return 1;
> +}
> +
> unsigned int cpupower_read_sysfs(const char *path, char *buf, size_t buflen) {
> ssize_t numread;
> diff --git a/tools/power/cpupower/lib/cpupower_intern.h
> b/tools/power/cpupower/lib/cpupower_intern.h
> index ac1112b956ec..5fdb8620d41b 100644
> --- a/tools/power/cpupower/lib/cpupower_intern.h
> +++ b/tools/power/cpupower/lib/cpupower_intern.h
> @@ -7,5 +7,6 @@
>
> #define SYSFS_PATH_MAX 255
>
> +int is_valid_path(const char *path);
> unsigned int cpupower_read_sysfs(const char *path, char *buf, size_t buflen);
> unsigned int cpupower_write_sysfs(const char *path, char *buf, size_t buflen);
> --
> 2.34.1
Tested-by: Perry Yuan <[email protected]>
On Tue, Jun 20, 2023 at 03:05:00AM +0800, Karny, Wyes wrote:
> Add is_valid_path API to check whether the sysfs file is present or not.
>
> Suggested-by: Gautham R. Shenoy <[email protected]>
> Reviewed-by: Mario Limonciello <[email protected]>
> Signed-off-by: Wyes Karny <[email protected]>
Acked-by: Huang Rui <[email protected]>
> ---
> tools/power/cpupower/lib/cpupower.c | 7 +++++++
> tools/power/cpupower/lib/cpupower_intern.h | 1 +
> 2 files changed, 8 insertions(+)
>
> diff --git a/tools/power/cpupower/lib/cpupower.c b/tools/power/cpupower/lib/cpupower.c
> index 3f7d0c0c5067..7a2ef691b20e 100644
> --- a/tools/power/cpupower/lib/cpupower.c
> +++ b/tools/power/cpupower/lib/cpupower.c
> @@ -14,6 +14,13 @@
> #include "cpupower.h"
> #include "cpupower_intern.h"
>
> +int is_valid_path(const char *path)
> +{
> + if (access(path, F_OK) == -1)
> + return 0;
> + return 1;
> +}
> +
> unsigned int cpupower_read_sysfs(const char *path, char *buf, size_t buflen)
> {
> ssize_t numread;
> diff --git a/tools/power/cpupower/lib/cpupower_intern.h b/tools/power/cpupower/lib/cpupower_intern.h
> index ac1112b956ec..5fdb8620d41b 100644
> --- a/tools/power/cpupower/lib/cpupower_intern.h
> +++ b/tools/power/cpupower/lib/cpupower_intern.h
> @@ -7,5 +7,6 @@
>
> #define SYSFS_PATH_MAX 255
>
> +int is_valid_path(const char *path);
> unsigned int cpupower_read_sysfs(const char *path, char *buf, size_t buflen);
> unsigned int cpupower_write_sysfs(const char *path, char *buf, size_t buflen);
> --
> 2.34.1
>