@@ -55,27 +55,6 @@
#define POWER_DEBUG_TRACE(fmt, args...)
#endif
-#define FOPEN_OR_ERR_RET(f, retval) do { \
- if ((f) == NULL) { \
- RTE_LOG(ERR, POWER, "File not openned\n"); \
- return retval; \
- } \
-} while (0)
-
-#define FOPS_OR_NULL_GOTO(ret, label) do { \
- if ((ret) == NULL) { \
- RTE_LOG(ERR, POWER, "fgets returns nothing\n"); \
- goto label; \
- } \
-} while (0)
-
-#define FOPS_OR_ERR_GOTO(ret, label) do { \
- if ((ret) < 0) { \
- RTE_LOG(ERR, POWER, "File operations failed\n"); \
- goto label; \
- } \
-} while (0)
-
#define STR_SIZE 1024
#define POWER_CONVERT_TO_DECIMAL 10
@@ -172,10 +151,16 @@ power_set_governor_userspace(struct rte_power_info *pi)
snprintf(fullpath, sizeof(fullpath), POWER_SYSFILE_GOVERNOR,
pi->lcore_id);
f = fopen(fullpath, "rw+");
- FOPEN_OR_ERR_RET(f, ret);
+ if (!f) {
+ RTE_LOG(ERR, POWER, "Failed to open %s\n", fullpath);
+ return ret;
+ }
s = fgets(buf, sizeof(buf), f);
- FOPS_OR_NULL_GOTO(s, out);
+ if (!s) {
+ RTE_LOG(ERR, POWER, "fgets returns nothing\n");
+ goto out;
+ }
/* Check if current governor is userspace */
if (strncmp(buf, POWER_GOVERNOR_USERSPACE,
@@ -190,10 +175,16 @@ power_set_governor_userspace(struct rte_power_info *pi)
/* Write 'userspace' to the governor */
val = fseek(f, 0, SEEK_SET);
- FOPS_OR_ERR_GOTO(val, out);
+ if (val < 0) {
+ RTE_LOG(ERR, POWER, "fseek failed\n");
+ goto out;
+ }
val = fputs(POWER_GOVERNOR_USERSPACE, f);
- FOPS_OR_ERR_GOTO(val, out);
+ if (val < 0) {
+ RTE_LOG(ERR, POWER, "fputs failed\n");
+ goto out;
+ }
ret = 0;
RTE_LOG(INFO, POWER, "Power management governor of lcore %u has been "
@@ -222,10 +213,16 @@ power_get_available_freqs(struct rte_power_info *pi)
snprintf(fullpath, sizeof(fullpath), POWER_SYSFILE_AVAIL_FREQ,
pi->lcore_id);
f = fopen(fullpath, "r");
- FOPEN_OR_ERR_RET(f, ret);
+ if (!f) {
+ RTE_LOG(ERR, POWER, "Failed to open %s\n", fullpath);
+ return ret;
+ }
s = fgets(buf, sizeof(buf), f);
- FOPS_OR_NULL_GOTO(s, out);
+ if (!s) {
+ RTE_LOG(ERR, POWER, "fgets returns nothing\n");
+ goto out;
+ }
/* Strip the line break if there is */
p = strchr(buf, '\n');
@@ -290,10 +287,16 @@ power_init_for_setting_freq(struct rte_power_info *pi)
snprintf(fullpath, sizeof(fullpath), POWER_SYSFILE_SETSPEED,
pi->lcore_id);
f = fopen(fullpath, "rw+");
- FOPEN_OR_ERR_RET(f, -1);
+ if (!f) {
+ RTE_LOG(ERR, POWER, "Failed to open %s\n", fullpath);
+ return -1;
+ }
s = fgets(buf, sizeof(buf), f);
- FOPS_OR_NULL_GOTO(s, out);
+ if (!s) {
+ RTE_LOG(ERR, POWER, "fgets returns nothing\n");
+ goto out;
+ }
freq = strtoul(buf, NULL, POWER_CONVERT_TO_DECIMAL);
for (i = 0; i < pi->nb_freqs; i++) {
@@ -387,10 +390,16 @@ power_set_governor_original(struct rte_power_info *pi)
snprintf(fullpath, sizeof(fullpath), POWER_SYSFILE_GOVERNOR,
pi->lcore_id);
f = fopen(fullpath, "rw+");
- FOPEN_OR_ERR_RET(f, ret);
+ if (!f) {
+ RTE_LOG(ERR, POWER, "Failed to open %s\n", fullpath);
+ return ret;
+ }
s = fgets(buf, sizeof(buf), f);
- FOPS_OR_NULL_GOTO(s, out);
+ if (!s) {
+ RTE_LOG(ERR, POWER, "fgets returns nothing\n");
+ goto out;
+ }
/* Check if the governor to be set is the same as current */
if (strncmp(buf, pi->governor_ori, sizeof(pi->governor_ori)) == 0) {
@@ -403,10 +412,16 @@ power_set_governor_original(struct rte_power_info *pi)
/* Write back the original governor */
val = fseek(f, 0, SEEK_SET);
- FOPS_OR_ERR_GOTO(val, out);
+ if (val < 0) {
+ RTE_LOG(ERR, POWER, "fseek failed\n");
+ goto out;
+ }
val = fputs(pi->governor_ori, f);
- FOPS_OR_ERR_GOTO(val, out);
+ if (val < 0) {
+ RTE_LOG(ERR, POWER, "fputs failed\n");
+ goto out;
+ }
ret = 0;
RTE_LOG(INFO, POWER, "Power management governor of lcore %u "
This fix implements David Hunt suggestion to remove error checking code macros. Together with improved code readability it removes checkpatch warnings. Fixes: 445c6528b55f ("power: common interface for guest and host") CC: stable@dpdk.org Signed-off-by: Radoslaw Biernacki <radoslaw.biernacki@linaro.org> --- lib/librte_power/rte_power_acpi_cpufreq.c | 81 ++++++++++++++++++------------- 1 file changed, 48 insertions(+), 33 deletions(-) -- 2.7.4