I'm looking at the datasheet for an LED controller (the MAX6955), and it shows that all of the interface pins; clock, data, address, etc., have current maxima of either 20 or 40mA. I'm aware that the Arduino I'm using is capable of sourcing considerably more current than that, so I need to be careful not to flood the I2C slave with more than it can handle.
It seems counter-intuitive that I'd need a resistor on all these lines (though I may need pull-up resistors for other reasons), but I also don't want to take a risk in experimenting with the device. They're about $18/each, so I'd rather not blow one out with an inept assumption.
Will the Arduino conform to a set of standard I2C current sourcing limits, or am I going to need to do something arcane to ensure the safety of these chips?