If I stood in the garage with the lights off, I could see a lot of light coming in near the damaged area. From the looks of things, a drip edge needed to be installed. Water appeared to be flowing down the shingles and then back into the garage because there was a large gap between the shingles and the trim.
I nailed a drip edge into place underneath the bottom row of shingles using roofing nails. I then put roofing cement around some of the larger openings. It isn't pretty, but neither is any of the other trim around the house right now, so it matches just fine. It doesn't look like any more light is getting into the garage though. I guess we will find out for sure next time it rains. Overall, it was a very easy project and took less than an hour. Now I just need to replace the ceiling joist.