The 28-year-old has recently been linked with the likes of Arsenal and Tottenham.
“Without breaching any confidences I’ve had a call from Birmingham to declare that they would have to let him go,” Johnson’s agent, Paul Smith, told Talk Sport.
“And at 28-years-old and having played every game in the Premier League for two seasons running he is in demand for sure. It’s just a matter of who he goes to I think.
“The player is one of those who gives his all and having met the manager it was pretty obvious that he knew the player needed to stay at that level and they need to raise funds.
“I think it is [a financial decision]. For them to declare it they are obviously weighing up who it will be better to let go and strategically how they’re going to plan to get back.
“They felt that they would have to trade him to get others in.”