Free-agent pitcher Ryan Madson has signed a three-year, $22 million deal with the A's, a source told ESPN's Jerry Crasnick.