PRoblem in C-Macro concatnication

#define STRINGIFY(x) #x
#define TO_STRING(x) STRINGIFY(x)
#define HELLO(PNO) ((STPRLSCNT_bit.STPRLSEN_P2 ## PNO))

bool port2xinput_rel_stop_mode(bool en_rel, uint8_t pno) {
pno = 1;
en_rel = 1;
HELLO(pno) = (en_rel > 0) ? 1 : 0;
return 0;
}

In above sample program, 
HELLO(pno) = (en_rel > 0) ? 1 : 0; is not working while HELLO(1) = (en_rel > 0) ? 1 : 0;
Concat result is STPRLSEN_P2pno while expected result is  STPRLSEN_P21