From 5637799c92d3f3202eb0d3f1df84bebe32e163d8 Mon Sep 17 00:00:00 2001 From: Vineeth Vijayan Date: Mon, 18 Sep 2023 17:41:30 +0200 Subject: [PATCH] zdev: introduce dev_site_configured macro MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Introduce dev_site_configured macro,which can be used to find the availability of site configurations for the device during udev rule creation. Signed-off-by: Vineeth Vijayan Reviewed-by: Peter Oberparleiter Signed-off-by: Jan Höppner --- zdev/include/site.h | 3 +++ zdev/src/udev_ccw.c | 15 +++++---------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/zdev/include/site.h b/zdev/include/site.h index b4f88be2..46b0c806 100644 --- a/zdev/include/site.h +++ b/zdev/include/site.h @@ -25,4 +25,7 @@ #define NUM_USER_SITES (NUM_SITES - 1) #define SITE_FALLBACK NUM_USER_SITES +/* Helper to find the availability of site-configuration */ +#define dev_site_configured(dev, x) (dev->site_specific[(x)].exists && \ + !dev->site_specific[(x)].deconfigured) #endif /* SITE_H */ diff --git a/zdev/src/udev_ccw.c b/zdev/src/udev_ccw.c index 1881337b..2c40c05e 100644 --- a/zdev/src/udev_ccw.c +++ b/zdev/src/udev_ccw.c @@ -338,8 +338,7 @@ static exit_code_t udev_ccw_write_device_new(struct device *dev) dev_state_copy(&dev->site_specific[global_site_id], &dev->persistent); for (i = 0; i < NUM_SITES; i++) { - configured += dev->site_specific[i].exists; - configured -= dev->site_specific[i].deconfigured; + configured += dev_site_configured(dev, i) ? 1 : 0; } /* @@ -388,8 +387,7 @@ static exit_code_t udev_ccw_write_device_new(struct device *dev) fprintf(fd, "LABEL=\"%s\"\n", cfg_label); /* site comparison block */ for (i = 0; i < NUM_USER_SITES; i++) { - if (dev->site_specific[i].exists && - !dev->site_specific[i].deconfigured) { + if (dev_site_configured(dev, i)) { fprintf(fd, "ENV{ZDEV_SITE_ID}==\"%d\",GOTO=\"%s_site%d\"\n", i, cfg_label, i); } @@ -399,8 +397,7 @@ static exit_code_t udev_ccw_write_device_new(struct device *dev) * If we have a generic configuration available, then use that setting as a * fail-over incase of no site-id information in LOADPARM */ - if (dev->site_specific[SITE_FALLBACK].exists && - !dev->site_specific[SITE_FALLBACK].deconfigured) + if (dev_site_configured(dev, SITE_FALLBACK)) fprintf(fd, "GOTO=\"%s_site_fb\"\n", cfg_label); else fprintf(fd, "GOTO=\"%s\"\n", end_label); @@ -408,8 +405,7 @@ static exit_code_t udev_ccw_write_device_new(struct device *dev) /* Write the site blocks for all the available configurations */ for (i = 0; i < NUM_USER_SITES; i++) { - if (dev->site_specific[i].exists && - !dev->site_specific[i].deconfigured) { + if (dev_site_configured(dev, i)) { fprintf(fd, "# site_start_%d\n", i); fprintf(fd, "LABEL=\"%s_site%d\"\n", cfg_label, i); @@ -420,8 +416,7 @@ static exit_code_t udev_ccw_write_device_new(struct device *dev) fprintf(fd, "\n"); } } - if (dev->site_specific[SITE_FALLBACK].exists && - !dev->site_specific[SITE_FALLBACK].deconfigured) { + if (dev_site_configured(dev, SITE_FALLBACK)) { fprintf(fd, "# site_start_fb\n"); fprintf(fd, "LABEL=\"%s_site_fb\"\n", cfg_label);