PassingPassing F("string") as a parameter

If I have a function that takes a string parameter I can declare it like this…

void My_Function(char *s)

and then I can pass a string like this…

My_Function("some string");

but what if I want to use the F() macro on all of my strings that I pass.

My_Function (F("some string"));

produces a compiler error. How do I change the definition of My_Function so that it accepts far pointers to flash memory strings?

void My_Function(const __FlashStringHelper * ifsh) {
  const char *p = (const char PROGMEM *)ifsh;
  // Use p as a normal string in PROGMEM2
}

OR

void My_Function(const __FlashStringHelper * ifsh) {
  Serial.print(ifsh);
}